Repository: wandb/openui Branch: main Commit: f9d8f0e30e1e Files: 192 Total size: 22.3 MB Directory structure: gitextract_qjsg2d9w/ ├── .devcontainer/ │ ├── devcontainer.json │ └── postCreateCommand.sh ├── .gitattributes ├── .github/ │ └── workflows/ │ └── docker.yml ├── .gitignore ├── .gitpod.yml ├── .husky/ │ ├── pre-commit │ └── pre-push ├── .python-version ├── LICENSE ├── README.md ├── backend/ │ ├── .dockerignore │ ├── .github/ │ │ └── workflows/ │ │ ├── publish.yml │ │ └── test.yml │ ├── .gitignore │ ├── .python-version │ ├── .vscode/ │ │ ├── extensions.json │ │ └── settings.json │ ├── Dockerfile │ ├── LICENSE │ ├── README.md │ ├── fly.toml │ ├── openui/ │ │ ├── __init__.py │ │ ├── __main__.py │ │ ├── config.py │ │ ├── config.yaml │ │ ├── db/ │ │ │ └── models.py │ │ ├── dist/ │ │ │ ├── annotator/ │ │ │ │ └── index.html │ │ │ ├── assets/ │ │ │ │ ├── CodeEditor-B1zwGt1y.css │ │ │ │ ├── CodeEditor-B9qhAAku.js │ │ │ │ ├── babel-CqqbTYm7.js │ │ │ │ ├── css-D1nB4Vcj.js │ │ │ │ ├── cssMode-CMP9zKWk.js │ │ │ │ ├── html-B2LDEzWk.js │ │ │ │ ├── html-B4dTfUY8.js │ │ │ │ ├── htmlMode-BZEeRbEQ.js │ │ │ │ ├── index-B7PjGjI7.js │ │ │ │ ├── index-CnQwS-Fb.css │ │ │ │ ├── index-DnTpCebm.js │ │ │ │ ├── javascript-BcV1SRi8.js │ │ │ │ ├── jsonMode-CWFvP3uU.js │ │ │ │ ├── markdown-7fQo6M4U.js │ │ │ │ ├── python-CsxvR8Mf.js │ │ │ │ ├── standalone-BS_cqyLa.js │ │ │ │ ├── tsMode-FcR9Jej8.js │ │ │ │ ├── typescript-BfKWl9Pr.js │ │ │ │ └── yaml-DWuY8lcX.js │ │ │ ├── index.html │ │ │ ├── logo.html │ │ │ ├── logo.txt │ │ │ ├── manifest.webmanifest │ │ │ ├── monacoeditorwork/ │ │ │ │ ├── css.worker.bundle.js │ │ │ │ ├── editor.worker.bundle.js │ │ │ │ ├── html.worker.bundle.js │ │ │ │ ├── json.worker.bundle.js │ │ │ │ ├── tailwindcss.worker.bundle.js │ │ │ │ └── ts.worker.bundle.js │ │ │ ├── registerSW.js │ │ │ ├── robots.txt │ │ │ ├── sw.js │ │ │ └── workbox-3e8df8c8.js │ │ ├── dummy.py │ │ ├── eval/ │ │ │ ├── .gitignore │ │ │ ├── __init__.py │ │ │ ├── dataset.py │ │ │ ├── download_and_convert.sh │ │ │ ├── evaluate.py │ │ │ ├── evaluate_weave.py │ │ │ ├── model.py │ │ │ ├── prompt_to_img.py │ │ │ ├── promptsearch.py │ │ │ ├── scrape.py │ │ │ ├── screenshots.py │ │ │ ├── svg_annotator.html │ │ │ ├── synthesize.py │ │ │ └── to_fine_tune.py │ │ ├── litellm.py │ │ ├── log_config.yaml │ │ ├── logo.ascii │ │ ├── logs.py │ │ ├── models.py │ │ ├── ollama.py │ │ ├── openai.py │ │ ├── server.py │ │ ├── session.py │ │ ├── tui/ │ │ │ ├── app.py │ │ │ ├── code.py │ │ │ ├── code_browser.tcss │ │ │ └── markdown.py │ │ └── util/ │ │ ├── __init__.py │ │ ├── email.py │ │ ├── screenshots.py │ │ └── storage.py │ ├── pyproject.toml │ └── tests/ │ └── test_openui.py ├── docker-compose.yaml ├── frontend/ │ ├── .cz.json │ ├── .github/ │ │ ├── CODEOWNERS │ │ ├── renovate.json │ │ └── workflows/ │ │ └── codeql-analysis.yml │ ├── .gitignore │ ├── .postcssrc.json │ ├── .prettierrc.json │ ├── .stylelintrc.json │ ├── .vscode/ │ │ ├── extensions.json │ │ └── settings.json │ ├── LICENSE │ ├── README.md │ ├── components.json │ ├── eslint.config.mjs │ ├── index.html │ ├── integration_tests/ │ │ ├── basic.spec.ts │ │ └── util.ts │ ├── package.json │ ├── playwright.config.ts │ ├── public/ │ │ ├── annotator/ │ │ │ └── index.html │ │ ├── logo.html │ │ ├── logo.txt │ │ └── robots.txt │ ├── src/ │ │ ├── App.tsx │ │ ├── __tests__/ │ │ │ ├── App.tsx │ │ │ └── utils.ts │ │ ├── api/ │ │ │ ├── models.ts │ │ │ ├── openai.ts │ │ │ └── openui.ts │ │ ├── components/ │ │ │ ├── Chat.tsx │ │ │ ├── CodeEditor.tsx │ │ │ ├── CodeViewer.tsx │ │ │ ├── CurrentUiContext.tsx │ │ │ ├── ErrorBoundary.tsx │ │ │ ├── Examples.tsx │ │ │ ├── FileUpload.tsx │ │ │ ├── Head.tsx │ │ │ ├── History.tsx │ │ │ ├── HistoryItem.tsx │ │ │ ├── HtmlAnnotator.tsx │ │ │ ├── LoadingOrError.tsx │ │ │ ├── Logo.tsx │ │ │ ├── NavBar.tsx │ │ │ ├── Prompt.tsx │ │ │ ├── Register.tsx │ │ │ ├── Scaffold.tsx │ │ │ ├── Screenshot.tsx │ │ │ ├── Settings.tsx │ │ │ ├── ShareDialog.tsx │ │ │ ├── SyntaxHighlighter.tsx │ │ │ ├── VersionPreview.tsx │ │ │ ├── Versions.tsx │ │ │ ├── __tests__/ │ │ │ │ └── LoadingOrError.tsx │ │ │ └── ui/ │ │ │ ├── avatar.tsx │ │ │ ├── button.tsx │ │ │ ├── checkbox.tsx │ │ │ ├── dialog.tsx │ │ │ ├── dropdown-menu.tsx │ │ │ ├── hover-card.tsx │ │ │ ├── input.tsx │ │ │ ├── label.tsx │ │ │ ├── popover.tsx │ │ │ ├── select.tsx │ │ │ ├── sheet.tsx │ │ │ ├── slider.tsx │ │ │ ├── switch.tsx │ │ │ ├── textarea.tsx │ │ │ └── tooltip.tsx │ │ ├── hooks/ │ │ │ └── index.ts │ │ ├── index.css │ │ ├── lib/ │ │ │ ├── anysphere.ts │ │ │ ├── constants.ts │ │ │ ├── events.ts │ │ │ ├── html.ts │ │ │ ├── i18n.ts │ │ │ ├── markdown.ts │ │ │ ├── simple.ts │ │ │ ├── themes.ts │ │ │ ├── utils.ts │ │ │ └── webauthn.ts │ │ ├── main.tsx │ │ ├── mocks/ │ │ │ ├── handlers.ts │ │ │ └── server.ts │ │ ├── pages/ │ │ │ └── AI/ │ │ │ └── index.tsx │ │ ├── setupTests.ts │ │ ├── state/ │ │ │ ├── atoms/ │ │ │ │ ├── history.ts │ │ │ │ ├── prompts.ts │ │ │ │ └── ui.ts │ │ │ └── index.ts │ │ └── testUtils.tsx │ ├── tailwind.config.js │ ├── tsconfig.json │ ├── tsconfig.node.json │ ├── vercel.json │ └── vite.config.ts └── openui.code-workspace ================================================ FILE CONTENTS ================================================ ================================================ FILE: .devcontainer/devcontainer.json ================================================ { "name": "OpenUI Development", "image": "mcr.microsoft.com/devcontainers/python:3.12", // More features: https://containers.dev/features. "features": { "ghcr.io/devcontainers/features/node:1": { "nodeGypDependencies": true, "version": "lts", "nvmVersion": "latest" }, "ghcr.io/devcontainers/features/rust:1": { "version": "latest", "profile": "minimal" }, "ghcr.io/wandb/catnip/feature:1": {} }, "mounts": [ "source=codespaces-linux-cache,target=/home/vscode/.cache,consistency=delegated,type=volume" ], "customizations": { "vscode": { "settings": {}, "extensions": [ "ms-python.python", "tamasfe.even-better-toml", "charliermarsh.ruff", "ms-toolsai.jupyter", "ms-azuretools.vscode-docker", "GitHub.copilot", "ms-python.black-formatter" ] } }, "forwardPorts": [6369], "portsAttributes": { "5173": { "label": "OpenUI UI Dev Server", "onAutoForward": "notify" }, "7878": { "label": "OpenUI Server", "onAutoForward": "notify" } }, // Install Ollama in the prebuild step "onCreateCommand": "curl -fsSL https://ollama.com/install.sh | sh", "postCreateCommand": "bash ./.devcontainer/postCreateCommand.sh", "postStartCommand": "nohup bash -c 'ollama serve &'", "secrets": { "OPENAI_API_KEY": { "description": "Your OpenAI API Key", "documentationUrl": "https://platform.openai.com/api-keys" }, "WANDB_API_KEY": { "description": "Your W&B API Key", "documentationUrl": "https://wandb.ai/authorize" } } // Uncomment to connect as root instead. More info: https://aka.ms/dev-containers-non-root. // "remoteUser": "root" } ================================================ FILE: .devcontainer/postCreateCommand.sh ================================================ #!/bin/bash # Fix cache perms mkdir -p $HOME/.cache sudo chown -R $USER $HOME/.cache # Install node packages cd /workspaces/openui/frontend pnpm install # Install python packages cd /workspaces/openui/backend pip install -e .[test] # Pull a model for ollama, using llava for now as it's multi-modal ollama pull llava # addressing warning... git config --unset-all core.hooksPath pre-commit install --allow-missing-config # pre-commit hooks cause permission weirdness git config --global --add safe.directory /workspaces/openui ================================================ FILE: .gitattributes ================================================ backend/openui/dist/* binary ================================================ FILE: .github/workflows/docker.yml ================================================ name: Build, test and release OpenUI on: push: branches: - "**" workflow_dispatch: env: REGISTRY: ghcr.io IMAGE_NAME: ${{ github.repository }} jobs: build-frontend: runs-on: ubuntu-latest permissions: contents: write packages: write steps: - name: Checkout repository uses: actions/checkout@v4 - uses: pnpm/action-setup@v4 name: Install pnpm with: version: 9 run_install: false - name: Install Node.js uses: actions/setup-node@v4 with: cache-dependency-path: frontend/pnpm-lock.yaml node-version: 20 cache: "pnpm" - name: Get pnpm store directory shell: bash working-directory: ./frontend run: | echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV - uses: actions/cache@v4 name: Setup pnpm cache with: path: ${{ env.STORE_PATH }} key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }} restore-keys: | ${{ runner.os }}-pnpm-store- - name: Install dependencies working-directory: ./frontend run: pnpm install # We use npm here because pnpm wasn't executing post hooks - name: Build frontend working-directory: ./frontend run: npm run build - name: Upload build artifacts uses: actions/upload-artifact@v4 with: name: frontend-${{ github.sha }} path: ./frontend/dist - name: Checking in frontend assets if: github.ref == 'refs/heads/main' run: | git config user.name github-actions git config user.email github-actions@github.com git add backend/openui/dist git commit -m "Updated frontend assets" git push build-and-push-image: needs: build-frontend runs-on: ubuntu-latest permissions: contents: read packages: write attestations: write id-token: write steps: - name: Checkout repository uses: actions/checkout@v4 - name: Download build artifacts uses: actions/download-artifact@v4 with: name: frontend-${{ github.sha }} path: ./backend/openui/dist - name: Set up QEMU uses: docker/setup-qemu-action@v3 - name: Set up Docker Buildx uses: docker/setup-buildx-action@v3 - name: Log in to the Container registry uses: docker/login-action@v3 with: registry: ${{ env.REGISTRY }} username: ${{ github.actor }} password: ${{ secrets.GITHUB_TOKEN }} - name: Extract metadata (tags, labels) for Docker id: meta uses: docker/metadata-action@v5 with: images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} flavor: | latest=false tags: | type=ref,event=branch type=ref,event=tag type=ref,event=pr type=sha - name: Build and push Docker image id: push uses: docker/build-push-action@v6 with: platforms: linux/amd64,linux/arm64 context: backend/. push: true tags: ${{ steps.meta.outputs.tags }} labels: ${{ steps.meta.outputs.labels }} cache-from: type=gha cache-to: type=gha,mode=max - name: Generate artifact attestation uses: actions/attest-build-provenance@v1 with: subject-name: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME}} subject-digest: ${{ steps.push.outputs.digest }} push-to-registry: true test: permissions: contents: read packages: write attestations: write id-token: write needs: build-and-push-image timeout-minutes: 10 runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: pnpm/action-setup@v4 name: Install pnpm with: version: 9 run_install: false - name: Install Node.js uses: actions/setup-node@v4 with: cache-dependency-path: frontend/pnpm-lock.yaml node-version: 20 cache: "pnpm" - name: Get pnpm store directory shell: bash working-directory: ./frontend run: | echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV - uses: actions/cache@v4 name: Setup pnpm cache with: path: ${{ env.STORE_PATH }} key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }} restore-keys: | ${{ runner.os }}-pnpm-store- - name: Install dependencies working-directory: ./frontend run: pnpm install - name: Install Playwright Browsers working-directory: ./frontend run: pnpm exec playwright install --with-deps chromium webkit - name: Get short SHA id: get_short_sha run: echo "short_sha=$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT - name: Run Playwright tests env: DOCKER_TAG: sha-${{ steps.get_short_sha.outputs.short_sha }} working-directory: ./frontend run: pnpm exec playwright test - uses: actions/upload-artifact@v4 if: always() with: name: playwright-report path: | ./frontend/playwright-report/ ./frontend/screenshots/ retention-days: 30 release: needs: test runs-on: ubuntu-latest permissions: contents: read packages: write attestations: write id-token: write steps: - name: Log in to the Container registry uses: docker/login-action@v3 with: registry: ${{ env.REGISTRY }} username: ${{ github.actor }} password: ${{ secrets.GITHUB_TOKEN }} - name: Convert full SHA to short SHA id: get_short_sha run: echo "short_sha=$(echo ${{ github.sha }} | cut -c1-7)" >> $GITHUB_OUTPUT - name: Tag latest image if: github.ref == 'refs/heads/main' env: IMAGE: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} run: | docker manifest inspect ${{ env.IMAGE }}:sha-${{ steps.get_short_sha.outputs.short_sha }} docker buildx imagetools create --tag ${{ env.IMAGE }}:latest ${{ env.IMAGE }}:sha-${{ steps.get_short_sha.outputs.short_sha }} ================================================ FILE: .gitignore ================================================ .DS_Store nohup.out .cache/ .env ================================================ FILE: .gitpod.yml ================================================ # Image of workspace. Learn more: https://www.gitpod.io/docs/configure/workspaces/workspace-image image: gitpod/workspace-full:latest # List the start up tasks. Learn more: https://www.gitpod.io/docs/configure/workspaces/tasks tasks: - name: Run Open UI init: | mkdir $GITPOD_REPO_ROOT/../venv cd $GITPOD_REPO_ROOT/../venv python -m venv openui source openui/bin/activate cd $GITPOD_REPO_ROOT/backend pip install . gp sync-done init-done command: | source $GITPOD_REPO_ROOT/../venv/openui/bin/activate cd $GITPOD_REPO_ROOT/backend python -m openui # List the ports to expose. Learn more: https://www.gitpod.io/docs/configure/workspaces/ports ports: - name: Open UI description: Port 7878 for Open UI port: 7878 onOpen: notify # Learn more from ready-to-use templates: https://www.gitpod.io/docs/introduction/getting-started/quickstart ================================================ FILE: .husky/pre-commit ================================================ cd frontend && pnpm lint-staged ================================================ FILE: .husky/pre-push ================================================ cd frontend && pnpm test:push ================================================ FILE: .python-version ================================================ openui ================================================ FILE: LICENSE ================================================ Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 1. Definitions. "License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. "Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. "Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. "You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. "Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. "Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. "Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). "Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. "Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." "Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. 2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. 3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. 4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: (a) You must give any other recipients of the Work or Derivative Works a copy of this License; and (b) You must cause any modified files to carry prominent notices stating that You changed the files; and (c) You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and (d) If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. 5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. 6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. 7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. 8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. 9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. END OF TERMS AND CONDITIONS APPENDIX: How to apply the Apache License to your work. To apply the Apache License to your work, attach the following boilerplate notice, with the fields enclosed by brackets "[]" replaced with your own identifying information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a file or class name and description of purpose be included on the same "printed page" as the copyright notice for easier identification within third-party archives. Copyright [2024] [Weights and Biases, Inc.] Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ================================================ FILE: README.md ================================================ # OpenUI
Choose more options when creating a Codespace, then select **New with options...**. Select the US West region if you want a really fast boot time. You'll also want to configure your OPENAI_API_KEY secret or just set it to `xxx` if you want to try Ollama *(you'll want at least 16GB of Ram)*.
Once inside the code space you can run the server in one terminal: `python -m openui --dev`. Then in a new terminal:
```bash
cd /workspaces/openui/frontend
npm run dev
```
This should open another service on port 5173, that's the service you'll want to visit. All changes to both the frontend and backend will automatically be reloaded and reflected in your browser.
### Ollama
The codespace installs ollama automaticaly and downloads the `llava` model. You can verify Ollama is running with `ollama list` if that fails, open a new terminal and run `ollama serve`. In Codespaces we pull llava on boot so you should see it in the list. You can select Ollama models from the settings gear icon in the upper left corner of the application. Any models you pull i.e. `ollama pull llama` will show up in the settings modal.
### Gitpod
You can easily use Open UI via Gitpod, preconfigured with Open AI.
[](https://gitpod.io/#https://github.com/wandb/openui)
On launch Open UI is automatically installed and launched.
Before you can use Gitpod:
* Make sure you have a Gitpod account.
* To use Open AI models set up the `OPENAI_API_KEY` environment variable in your Gitpod [User Account](https://gitpod.io/user/variables). Set the scope to `wandb/openui` (or your repo if you forked it).
> NOTE: Other (local) models might also be used with a bigger Gitpod instance type. Required models are not preconfigured in Gitpod but can easily be added as documented above.
### Resources
See the readmes in the [frontend](./frontend/README.md) and [backend](./backend/README.md) directories.
================================================
FILE: backend/.dockerignore
================================================
# flyctl launch added from .gitignore
**/.venv
**/__pycache__
**/wandb
**/*.py[cod]
**/*$py.class
**/venv
**/.eggs
**/.pytest_cache
**/*.egg-info
**/.DS_Store
**/build
**/wandb
**/*.db
# flyctl launch added from openui/eval/.gitignore
openui/eval/**/datasets
openui/eval/**/components
fly.toml
================================================
FILE: backend/.github/workflows/publish.yml
================================================
name: Publish Python Package
on:
release:
types: [created]
permissions:
contents: read
jobs:
test:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.8", "3.9", "3.10", "3.11", "3.12"]
steps:
- uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
cache: pip
cache-dependency-path: pyproject.toml
- name: Install dependencies
run: |
pip install '.[test]'
- name: Run tests
run: |
pytest
deploy:
runs-on: ubuntu-latest
needs: [test]
environment: release
permissions:
id-token: write
steps:
- uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.12"
cache: pip
cache-dependency-path: pyproject.toml
- name: Install dependencies
run: |
pip install setuptools wheel build
- name: Build
run: |
python -m build
- name: Publish
uses: pypa/gh-action-pypi-publish@release/v1
================================================
FILE: backend/.github/workflows/test.yml
================================================
name: Test
on: [push, pull_request]
permissions:
contents: read
jobs:
test:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.8", "3.9", "3.10", "3.11", "3.12"]
steps:
- uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
cache: pip
cache-dependency-path: pyproject.toml
- name: Install dependencies
run: |
pip install '.[test]'
- name: Run tests
run: |
pytest
================================================
FILE: backend/.gitignore
================================================
.venv
__pycache__/
wandb/
*.py[cod]
*$py.class
venv
.eggs
.pytest_cache
*.egg-info
.DS_Store
build
eval/components
eval/datasets
!eval/datasets/eval.csv
================================================
FILE: backend/.python-version
================================================
3.12
================================================
FILE: backend/.vscode/extensions.json
================================================
{
"recommendations": ["charliermarsh.ruff"]
}
================================================
FILE: backend/.vscode/settings.json
================================================
{
"[python]": {
"editor.formatOnSave": true,
"editor.defaultFormatter": "charliermarsh.ruff"
}
}
================================================
FILE: backend/Dockerfile
================================================
# Build the virtualenv as a separate step: Only re-execute this step when pyproject.toml changes
FROM ghcr.io/astral-sh/uv:python3.12-bookworm-slim AS builder
WORKDIR /app
ENV UV_LINK_MODE=copy UV_COMPILE_BYTECODE=1
RUN --mount=type=cache,target=/root/.cache/uv \
--mount=type=bind,source=uv.lock,target=uv.lock \
--mount=type=bind,source=pyproject.toml,target=pyproject.toml \
uv sync --frozen --extra litellm --no-install-project --no-dev
COPY . /app
RUN --mount=type=cache,target=/root/.cache/uv \
uv sync --frozen --extra litellm --no-dev
# Copy the virtualenv into a distroless image
FROM ghcr.io/astral-sh/uv:python3.12-bookworm-slim
WORKDIR /app
COPY --from=builder --chown=app:app /app /app
ENV PATH="/app/.venv/bin:$PATH"
ENTRYPOINT ["python", "-m", "openui", "--litellm"]
================================================
FILE: backend/LICENSE
================================================
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "[]"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.
Copyright [2024] [Weights and Biases, Inc.]
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
================================================
FILE: backend/README.md
================================================
# OpenUI
[](https://pypi.org/project/wandb-openui/)
[](https://github.com/wandb/openui/releases)
[](https://github.com/wandb/openui/blob/main/LICENSE)
A backend service for generating HTML components with AI
## Installation
Clone this repo, then install using `pip`. You'll probably want to create a virtual env.
```bash
git clone https://github.com/wandb/openui
cd openui/backend
pip install .
```
## Usage
You must set the `OPENAI_API_KEY` even if you just want to try Ollama models. Just set it to `xxx` in that case like below.
```bash
OPENAI_API_KEY=xxx python -m openui
```
### Docker
You can build and run the docker file from the `/backend` directory:
```bash
docker build . -t wandb/openui --load
docker run -p 7878:7878 -e OPENAI_API_KEY wandb/openui
```
## Development
First be sure to install the package as editable, then passing `--dev` as an argument will live reload any local changes.
```bash
pip install -e .
python -m openui --dev
```
Now install the dependencies and test dependencies:
```bash
pip install -e '.[test]'
```
To run the tests:
```bash
pytest
```
## Evaluation
The [eval](./openui/eval) folder contains scripts for evaluating the performance of a model. It automates generating UI, taking screenshots of the UI, then asking `gpt-4-vision-preview` to rate the elements. More details about the eval pipeline coming soon...
## Google Vertex AI
Create a service account with the appropriate permissions and authenticate with:
```
gcloud auth application-default login --impersonate-service-account ${GCLOUD_SERVICE_ACCOUNT}@${GCLOUD_PROJECT}.iam.gserviceaccount.com
```
================================================
FILE: backend/fly.toml
================================================
# fly.toml app configuration file generated for openui on 2024-03-15T15:53:15-07:00
#
# See https://fly.io/docs/reference/configuration/ for information about how to use this file.
#
app = 'openui'
primary_region = 'sjc'
[http_service]
internal_port = 7878
force_https = true
auto_stop_machines = true
auto_start_machines = true
min_machines_running = 0
processes = ['app']
[mounts]
source = "openui_data"
destination = "/root/.openui"
[env]
OPENUI_ENVIRONMENT = "production"
OPENUI_HOST = "https://openui.fly.dev"
GITHUB_CLIENT_ID = "3af8fbeb90d06484dff0"
WANDB_ENTITY = "wandb"
WANDB_PROJECT = "openui-hosted"
[[vm]]
memory = '1gb'
cpu_kind = 'shared'
cpus = 1
================================================
FILE: backend/openui/__init__.py
================================================
================================================
FILE: backend/openui/__main__.py
================================================
from pathlib import Path
from .logs import setup_logger
from . import server
from . import config
from .litellm import generate_config
import os
import uvicorn
from uvicorn import Config
import sys
import subprocess
import time
def is_running_in_docker():
# Check for the .dockerenv file
if os.path.exists("/.dockerenv"):
return True
# Check for Docker-related entries in /proc/self/cgroup
try:
with open("/proc/self/cgroup", "r") as file:
for line in file:
if "docker" in line:
return True
except Exception as e:
pass
if config.ENV == config.Env.PROD:
return True
return False
if __name__ == "__main__":
ui = any([arg == "-i" for arg in sys.argv])
litellm = (
any([arg == "--litellm" for arg in sys.argv])
or "OPENUI_LITELLM_CONFIG" in os.environ
or os.path.exists("litellm-config.yaml")
)
# TODO: only render in interactive mode?
print(
(Path(__file__).parent / "logo.ascii").read_text(), file=sys.stderr, flush=True
)
logger = setup_logger("/tmp/openui.log" if ui else None)
logger.info("Starting OpenUI AI Server created by W&B...")
reload = any([arg == "--dev" for arg in sys.argv])
if reload:
config.ENV = config.Env.DEV
logger.info("Running in dev mode")
try:
from .tui.app import OpenUIApp
app = OpenUIApp()
server.queue = app.queue
except ImportError:
if ui:
logger.warning(
"Install OpenUI with pip install .[tui] to use the terminal UI"
)
ui = False
config_file = Path(__file__).parent / "log_config.yaml"
api_server = server.Server(
Config(
"openui.server:app",
host="0.0.0.0" if is_running_in_docker() else "127.0.0.1",
log_config=str(config_file) if ui else None,
port=config.PORT,
reload=reload,
)
)
if ui:
with api_server.run_in_thread():
logger.info("Running Terminal UI App")
app.run()
else:
if litellm:
config_path = "litellm-config.yaml"
if "OPENUI_LITELLM_CONFIG" in os.environ:
config_path = os.environ["OPENUI_LITELLM_CONFIG"]
elif os.path.exists("/app/litellm-config.yaml"):
config_path = "/app/litellm-config.yaml"
else:
config_path = generate_config()
logger.info(
f"Starting LiteLLM in the background with config: {config_path}"
)
litellm_process = subprocess.Popen(
["litellm", "--config", config_path, "--port", "4000"],
stdout=subprocess.PIPE,
stderr=subprocess.PIPE,
text=True,
)
# Ensure litellm stays up for 5 seconds
for i in range(5):
if litellm_process.poll() is not None:
stdout, stderr = litellm_process.communicate()
logger.error(f"LiteLLM failed to start:\n{stderr}")
break
time.sleep(1)
logger.info("Running API Server")
mkcert_dir = Path.home() / ".vite-plugin-mkcert"
if reload:
# TODO: hot reload wasn't working with the server approach, and ctrl-C doesn't
# work with the uvicorn.run approach, so here we are
uvicorn.run(
"openui.server:app",
host="0.0.0.0" if is_running_in_docker() else "127.0.0.1",
port=config.PORT,
reload=reload,
)
else:
api_server.run_with_wandb()
================================================
FILE: backend/openui/config.py
================================================
import os
from pathlib import Path
import secrets
from urllib.parse import urlparse
from enum import Enum
class Env(Enum):
LOCAL = 1
PROD = 2
DEV = 3
try:
env = os.getenv("OPENUI_ENVIRONMENT", "local")
if env == "production":
env = "prod"
elif env == "development":
env = "dev"
ENV = Env[env.upper()]
except KeyError:
print("Invalid environment, defaulting to running locally")
ENV = Env.LOCAL
default_db = Path.home() / ".openui" / "db.sqlite"
default_db.parent.mkdir(exist_ok=True)
DB = os.getenv("DATABASE", default_db)
HOST = os.getenv(
"OPENUI_HOST",
"https://localhost:5173" if ENV == Env.DEV else "http://localhost:7878",
)
RP_ID = urlparse(HOST).hostname
SESSION_KEY = os.getenv("OPENUI_SESSION_KEY")
if SESSION_KEY is None:
env_path = Path.home() / ".openui" / ".env"
if env_path.exists():
SESSION_KEY = env_path.read_text().splitlines()[0].split("=")[1]
else:
SESSION_KEY = secrets.token_hex(32)
with env_path.open("w") as f:
f.write(f"OPENUI_SESSION_KEY={SESSION_KEY}")
# Set the LITELLM_MASTER_KEY to a random value if it's not already set
if os.getenv("LITELLM_MASTER_KEY") is None:
os.environ["LITELLM_MASTER_KEY"] = "sk-{SESSION_KEY}"
# GPT 3.5 is 0.0005 per 1k tokens input and 0.0015 output
# 700k puts us at a max of $1.00 spent per user over a 48 hour period
MAX_TOKENS = int(os.getenv("OPENUI_MAX_TOKENS", "700000"))
GITHUB_CLIENT_ID = os.getenv("GITHUB_CLIENT_ID")
GITHUB_CLIENT_SECRET = os.getenv("GITHUB_CLIENT_SECRET")
AWS_ENDPOINT_URL_S3 = os.getenv("AWS_ENDPOINT_URL_S3")
AWS_ACCESS_KEY_ID = os.getenv("AWS_ACCESS_KEY_ID")
AWS_SECRET_ACCESS_KEY = os.getenv("AWS_SECRET_ACCESS_KEY")
BUCKET_NAME = os.getenv("BUCKET_NAME", "openui")
# Cors, if you're hosting the annotator iframe elsewhere, add it here
CORS_ORIGINS = os.getenv(
"OPENUI_CORS_ORIGINS", "https://wandb.github.io,https://localhost:5173"
).split(",")
# Model providers
OLLAMA_HOST = os.getenv("OLLAMA_HOST", "http://127.0.0.1:11434")
OPENAI_BASE_URL = os.getenv("OPENAI_BASE_URL", "https://api.openai.com/v1")
OPENAI_API_KEY = os.getenv("OPENAI_API_KEY", "xxx")
GROQ_BASE_URL = os.getenv("GROQ_BASE_URL", "https://api.groq.com/openai/v1")
GROQ_API_KEY = os.getenv("GROQ_API_KEY")
LITELLM_API_KEY = os.getenv("LITELLM_API_KEY", os.getenv("LITELLM_MASTER_KEY"))
LITELLM_BASE_URL = os.getenv("LITELLM_BASE_URL", "http://0.0.0.0:4000")
PORT = int(os.getenv("PORT", 7878))
================================================
FILE: backend/openui/config.yaml
================================================
litellm_settings:
# callbacks: callbacks.weave_handler
================================================
FILE: backend/openui/db/models.py
================================================
from peewee import (
Model,
BinaryUUIDField,
BooleanField,
CharField,
IntegerField,
DateField,
CompositeKey,
DateTimeField,
ForeignKeyField,
OperationalError,
fn,
)
import uuid
import datetime
from playhouse.sqlite_ext import SqliteExtDatabase, JSONField
from playhouse.migrate import SqliteMigrator, migrate
from openui import config
database = SqliteExtDatabase(
config.DB,
pragmas=(
("cache_size", -1024 * 64), # 64MB page-cache.
("journal_mode", "wal"), # Use WAL-mode
("foreign_keys", 1),
),
)
migrator = SqliteMigrator(database)
class BaseModel(Model):
class Meta:
database = database
class SchemaMigration(BaseModel):
version = CharField()
class User(BaseModel):
id = BinaryUUIDField(primary_key=True)
username = CharField(unique=True)
email = CharField(null=True)
created_at = DateTimeField()
class Credential(BaseModel):
credential_id = CharField(primary_key=True)
public_key = CharField()
sign_count = IntegerField()
aaguid = CharField(null=True)
user_verified = BooleanField(default=False)
user = ForeignKeyField(User, backref="credentials")
class Session(BaseModel):
id = BinaryUUIDField(primary_key=True)
user = ForeignKeyField(User, backref="sessions")
data = JSONField()
created_at = DateTimeField()
updated_at = DateTimeField()
class Component(BaseModel):
id = BinaryUUIDField(primary_key=True)
name = CharField()
user = ForeignKeyField(User, backref="components")
data = JSONField()
class Vote(BaseModel):
id = BinaryUUIDField(primary_key=True)
user = ForeignKeyField(User, backref="votes")
component = ForeignKeyField(Component, backref="votes")
vote = BooleanField()
created_at = DateTimeField()
class Usage(BaseModel):
input_tokens = IntegerField()
output_tokens = IntegerField()
day = DateField()
user = ForeignKeyField(User, backref="usage")
class Meta:
primary_key = CompositeKey("user", "day")
@classmethod
def update_tokens(cls, user_id: str, input_tokens: int, output_tokens: int):
Usage.insert(
user_id=uuid.UUID(user_id).bytes,
day=datetime.datetime.now().date(),
input_tokens=input_tokens,
output_tokens=output_tokens,
).on_conflict(
conflict_target=[Usage.user_id, Usage.day],
update={
Usage.input_tokens: Usage.input_tokens + input_tokens,
Usage.output_tokens: Usage.output_tokens + output_tokens,
},
).execute()
@classmethod
def tokens_since(cls, user_id: str, day: datetime.date) -> int:
return (
Usage.select(
fn.SUM(Usage.input_tokens + Usage.output_tokens).alias("tokens")
)
.where(Usage.user_id == uuid.UUID(user_id).bytes, Usage.day >= day)
.get()
.tokens
or 0
)
CURRENT_VERSION = "2024-05-14"
def alter(schema: SchemaMigration, ops: list[list], version: str) -> bool:
try:
migrate(*ops)
except OperationalError as e:
print("Migration failed", e)
return False
schema.version = version
schema.save()
print(f"Migrated {version}")
return version != CURRENT_VERSION
def perform_migration(schema: SchemaMigration) -> bool:
if schema.version == "2024-03-08":
version = "2024-03-12"
aaguid = CharField(null=True)
user_verified = BooleanField(default=False)
altered = alter(
schema,
[
migrator.add_column("credential", "aaguid", aaguid),
migrator.add_column("credential", "user_verified", user_verified),
],
version,
)
if altered:
perform_migration(schema)
if schema.version == "2024-03-12":
version = "2024-05-14"
database.create_tables([Vote])
schema.version = version
schema.save()
if version != CURRENT_VERSION:
perform_migration(schema)
def ensure_migrated():
if not config.DB.exists():
database.create_tables(
[User, Credential, Session, Component, SchemaMigration, Usage, Vote]
)
SchemaMigration.create(version=CURRENT_VERSION)
else:
schema = SchemaMigration.select().first()
if schema.version != CURRENT_VERSION:
perform_migration(schema)
================================================
FILE: backend/openui/dist/annotator/index.html
================================================
["']).*\k$/su.test(s));let t=s.slice(1,-1),i=e.parser==="json"||e.parser==="jsonc"||e.parser==="json5"&&e.quoteProps==="preserve"&&!e.singleQuote?'"':e.__isInHtmlAttribute?"'":CW(t,e.singleQuote);return s.charAt(0)===i?s:RQ(t,i,!1)}var t_=PQ;function Ln(s){var e,t,i;let n=((e=s.range)==null?void 0:e[0])??s.start,o=(i=((t=s.declaration)==null?void 0:t.decorators)??s.decorators)==null?void 0:i[0];return o?Math.min(Ln(o),n):n}function oi(s){var e;return((e=s.range)==null?void 0:e[1])??s.end}function RL(s,e){let t=Ln(s);return Number.isInteger(t)&&t===Ln(e)}function FQ(s,e){let t=oi(s);return Number.isInteger(t)&&t===oi(e)}function OQ(s,e){return RL(s,e)&&FQ(s,e)}var N0=null;function Ov(s){if(N0!==null&&typeof N0.property){let e=N0;return N0=Ov.prototype=null,e}return N0=Ov.prototype=s??Object.create(null),new Ov}var BQ=10;for(let s=0;s<=BQ;s++)Ov();function WQ(s){return Ov(s)}function HQ(s,e="type"){WQ(s);function t(i){let n=i[e],o=s[n];if(!Array.isArray(o))throw Object.assign(new Error(`Missing visitor keys for '${n}'.`),{node:i});return o}return t}var wW=HQ,VQ={ArrayExpression:["elements"],AssignmentExpression:["left","right"],BinaryExpression:["left","right"],InterpreterDirective:[],Directive:["value"],DirectiveLiteral:[],BlockStatement:["directives","body"],BreakStatement:["label"],CallExpression:["callee","arguments","typeParameters","typeArguments"],CatchClause:["param","body"],ConditionalExpression:["test","consequent","alternate"],ContinueStatement:["label"],DebuggerStatement:[],DoWhileStatement:["body","test"],EmptyStatement:[],ExpressionStatement:["expression"],File:["program"],ForInStatement:["left","right","body"],ForStatement:["init","test","update","body"],FunctionDeclaration:["id","typeParameters","params","predicate","returnType","body"],FunctionExpression:["id","typeParameters","params","returnType","body"],Identifier:["typeAnnotation","decorators"],IfStatement:["test","consequent","alternate"],LabeledStatement:["label","body"],StringLiteral:[],NumericLiteral:[],NullLiteral:[],BooleanLiteral:[],RegExpLiteral:[],LogicalExpression:["left","right"],MemberExpression:["object","property"],NewExpression:["callee","arguments","typeParameters","typeArguments"],Program:["directives","body"],ObjectExpression:["properties"],ObjectMethod:["decorators","key","typeParameters","params","returnType","body"],ObjectProperty:["key","value","decorators"],RestElement:["argument","typeAnnotation","decorators"],ReturnStatement:["argument"],SequenceExpression:["expressions"],ParenthesizedExpression:["expression"],SwitchCase:["test","consequent"],SwitchStatement:["discriminant","cases"],ThisExpression:[],ThrowStatement:["argument"],TryStatement:["block","handler","finalizer"],UnaryExpression:["argument"],UpdateExpression:["argument"],VariableDeclaration:["declarations"],VariableDeclarator:["id","init"],WhileStatement:["test","body"],WithStatement:["object","body"],AssignmentPattern:["left","right","decorators","typeAnnotation"],ArrayPattern:["elements","typeAnnotation","decorators"],ArrowFunctionExpression:["typeParameters","params","predicate","returnType","body"],ClassBody:["body"],ClassExpression:["decorators","id","typeParameters","superClass","superTypeParameters","mixins","implements","body","superTypeArguments"],ClassDeclaration:["decorators","id","typeParameters","superClass","superTypeParameters","mixins","implements","body","superTypeArguments"],ExportAllDeclaration:["source","attributes","exported"],ExportDefaultDeclaration:["declaration"],ExportNamedDeclaration:["declaration","specifiers","source","attributes"],ExportSpecifier:["local","exported"],ForOfStatement:["left","right","body"],ImportDeclaration:["specifiers","source","attributes"],ImportDefaultSpecifier:["local"],ImportNamespaceSpecifier:["local"],ImportSpecifier:["imported","local"],ImportExpression:["source","options"],MetaProperty:["meta","property"],ClassMethod:["decorators","key","typeParameters","params","returnType","body"],ObjectPattern:["properties","typeAnnotation","decorators"],SpreadElement:["argument"],Super:[],TaggedTemplateExpression:["tag","typeParameters","quasi","typeArguments"],TemplateElement:[],TemplateLiteral:["quasis","expressions"],YieldExpression:["argument"],AwaitExpression:["argument"],BigIntLiteral:[],ExportNamespaceSpecifier:["exported"],OptionalMemberExpression:["object","property"],OptionalCallExpression:["callee","arguments","typeParameters","typeArguments"],ClassProperty:["decorators","variance","key","typeAnnotation","value"],ClassAccessorProperty:["decorators","key","typeAnnotation","value"],ClassPrivateProperty:["decorators","variance","key","typeAnnotation","value"],ClassPrivateMethod:["decorators","key","typeParameters","params","returnType","body"],PrivateName:["id"],StaticBlock:["body"],AnyTypeAnnotation:[],ArrayTypeAnnotation:["elementType"],BooleanTypeAnnotation:[],BooleanLiteralTypeAnnotation:[],NullLiteralTypeAnnotation:[],ClassImplements:["id","typeParameters"],DeclareClass:["id","typeParameters","extends","mixins","implements","body"],DeclareFunction:["id","predicate"],DeclareInterface:["id","typeParameters","extends","body"],DeclareModule:["id","body"],DeclareModuleExports:["typeAnnotation"],DeclareTypeAlias:["id","typeParameters","right"],DeclareOpaqueType:["id","typeParameters","supertype"],DeclareVariable:["id"],DeclareExportDeclaration:["declaration","specifiers","source","attributes"],DeclareExportAllDeclaration:["source","attributes"],DeclaredPredicate:["value"],ExistsTypeAnnotation:[],FunctionTypeAnnotation:["typeParameters","this","params","rest","returnType"],FunctionTypeParam:["name","typeAnnotation"],GenericTypeAnnotation:["id","typeParameters"],InferredPredicate:[],InterfaceExtends:["id","typeParameters"],InterfaceDeclaration:["id","typeParameters","extends","body"],InterfaceTypeAnnotation:["extends","body"],IntersectionTypeAnnotation:["types"],MixedTypeAnnotation:[],EmptyTypeAnnotation:[],NullableTypeAnnotation:["typeAnnotation"],NumberLiteralTypeAnnotation:[],NumberTypeAnnotation:[],ObjectTypeAnnotation:["properties","indexers","callProperties","internalSlots"],ObjectTypeInternalSlot:["id","value"],ObjectTypeCallProperty:["value"],ObjectTypeIndexer:["variance","id","key","value"],ObjectTypeProperty:["key","value","variance"],ObjectTypeSpreadProperty:["argument"],OpaqueType:["id","typeParameters","supertype","impltype"],QualifiedTypeIdentifier:["qualification","id"],StringLiteralTypeAnnotation:[],StringTypeAnnotation:[],SymbolTypeAnnotation:[],ThisTypeAnnotation:[],TupleTypeAnnotation:["types","elementTypes"],TypeofTypeAnnotation:["argument","typeArguments"],TypeAlias:["id","typeParameters","right"],TypeAnnotation:["typeAnnotation"],TypeCastExpression:["expression","typeAnnotation"],TypeParameter:["bound","default","variance"],TypeParameterDeclaration:["params"],TypeParameterInstantiation:["params"],UnionTypeAnnotation:["types"],Variance:[],VoidTypeAnnotation:[],EnumDeclaration:["id","body"],EnumBooleanBody:["members"],EnumNumberBody:["members"],EnumStringBody:["members"],EnumSymbolBody:["members"],EnumBooleanMember:["id","init"],EnumNumberMember:["id","init"],EnumStringMember:["id","init"],EnumDefaultedMember:["id"],IndexedAccessType:["objectType","indexType"],OptionalIndexedAccessType:["objectType","indexType"],JSXAttribute:["name","value"],JSXClosingElement:["name"],JSXElement:["openingElement","children","closingElement"],JSXEmptyExpression:[],JSXExpressionContainer:["expression"],JSXSpreadChild:["expression"],JSXIdentifier:[],JSXMemberExpression:["object","property"],JSXNamespacedName:["namespace","name"],JSXOpeningElement:["name","typeParameters","typeArguments","attributes"],JSXSpreadAttribute:["argument"],JSXText:[],JSXFragment:["openingFragment","children","closingFragment"],JSXOpeningFragment:[],JSXClosingFragment:[],Noop:[],Placeholder:[],V8IntrinsicIdentifier:[],ArgumentPlaceholder:[],BindExpression:["object","callee"],ImportAttribute:["key","value"],Decorator:["expression"],DoExpression:["body"],ExportDefaultSpecifier:["exported"],RecordExpression:["properties"],TupleExpression:["elements"],ModuleExpression:["body"],TopicReference:[],PipelineTopicExpression:["expression"],PipelineBareFunction:["callee"],PipelinePrimaryTopicReference:[],TSParameterProperty:["parameter","decorators"],TSDeclareFunction:["id","typeParameters","params","returnType","body"],TSDeclareMethod:["decorators","key","typeParameters","params","returnType"],TSQualifiedName:["left","right"],TSCallSignatureDeclaration:["typeParameters","parameters","typeAnnotation","params","returnType"],TSConstructSignatureDeclaration:["typeParameters","parameters","typeAnnotation","params","returnType"],TSPropertySignature:["key","typeAnnotation"],TSMethodSignature:["key","typeParameters","parameters","typeAnnotation","params","returnType"],TSIndexSignature:["parameters","typeAnnotation"],TSAnyKeyword:[],TSBooleanKeyword:[],TSBigIntKeyword:[],TSIntrinsicKeyword:[],TSNeverKeyword:[],TSNullKeyword:[],TSNumberKeyword:[],TSObjectKeyword:[],TSStringKeyword:[],TSSymbolKeyword:[],TSUndefinedKeyword:[],TSUnknownKeyword:[],TSVoidKeyword:[],TSThisType:[],TSFunctionType:["typeParameters","parameters","typeAnnotation","params","returnType"],TSConstructorType:["typeParameters","parameters","typeAnnotation","params","returnType"],TSTypeReference:["typeName","typeParameters","typeArguments"],TSTypePredicate:["parameterName","typeAnnotation"],TSTypeQuery:["exprName","typeParameters","typeArguments"],TSTypeLiteral:["members"],TSArrayType:["elementType"],TSTupleType:["elementTypes"],TSOptionalType:["typeAnnotation"],TSRestType:["typeAnnotation"],TSNamedTupleMember:["label","elementType"],TSUnionType:["types"],TSIntersectionType:["types"],TSConditionalType:["checkType","extendsType","trueType","falseType"],TSInferType:["typeParameter"],TSParenthesizedType:["typeAnnotation"],TSTypeOperator:["typeAnnotation"],TSIndexedAccessType:["objectType","indexType"],TSMappedType:["typeParameter","nameType","typeAnnotation"],TSTemplateLiteralType:["quasis","types"],TSLiteralType:["literal"],TSExpressionWithTypeArguments:["expression","typeParameters"],TSInterfaceDeclaration:["id","typeParameters","extends","body"],TSInterfaceBody:["body"],TSTypeAliasDeclaration:["id","typeParameters","typeAnnotation"],TSInstantiationExpression:["expression","typeParameters","typeArguments"],TSAsExpression:["expression","typeAnnotation"],TSSatisfiesExpression:["expression","typeAnnotation"],TSTypeAssertion:["typeAnnotation","expression"],TSEnumBody:["members"],TSEnumDeclaration:["id","members"],TSEnumMember:["id","initializer"],TSModuleDeclaration:["id","body"],TSModuleBlock:["body"],TSImportType:["argument","options","qualifier","typeParameters","typeArguments"],TSImportEqualsDeclaration:["id","moduleReference"],TSExternalModuleReference:["expression"],TSNonNullExpression:["expression"],TSExportAssignment:["expression"],TSNamespaceExportDeclaration:["id"],TSTypeAnnotation:["typeAnnotation"],TSTypeParameterInstantiation:["params"],TSTypeParameterDeclaration:["params"],TSTypeParameter:["constraint","default","name"],ChainExpression:["expression"],ExperimentalRestProperty:["argument"],ExperimentalSpreadProperty:["argument"],Literal:[],MethodDefinition:["decorators","key","value"],PrivateIdentifier:[],Property:["key","value"],PropertyDefinition:["decorators","key","typeAnnotation","value","variance"],AccessorProperty:["decorators","key","typeAnnotation","value"],TSAbstractAccessorProperty:["decorators","key","typeAnnotation"],TSAbstractKeyword:[],TSAbstractMethodDefinition:["key","value"],TSAbstractPropertyDefinition:["decorators","key","typeAnnotation"],TSAsyncKeyword:[],TSClassImplements:["expression","typeArguments","typeParameters"],TSDeclareKeyword:[],TSEmptyBodyFunctionExpression:["id","typeParameters","params","returnType"],TSExportKeyword:[],TSInterfaceHeritage:["expression","typeArguments","typeParameters"],TSPrivateKeyword:[],TSProtectedKeyword:[],TSPublicKeyword:[],TSReadonlyKeyword:[],TSStaticKeyword:[],AsConstExpression:["expression"],AsExpression:["expression","typeAnnotation"],BigIntLiteralTypeAnnotation:[],BigIntTypeAnnotation:[],ComponentDeclaration:["id","params","body","typeParameters","rendersType"],ComponentParameter:["name","local"],ComponentTypeAnnotation:["params","rest","typeParameters","rendersType"],ComponentTypeParameter:["name","typeAnnotation"],ConditionalTypeAnnotation:["checkType","extendsType","trueType","falseType"],DeclareComponent:["id","params","rest","typeParameters","rendersType"],DeclareEnum:["id","body"],DeclareHook:["id"],DeclareNamespace:["id","body"],EnumBigIntBody:["members"],EnumBigIntMember:["id","init"],HookDeclaration:["id","params","body","typeParameters","returnType"],HookTypeAnnotation:["params","returnType","rest","typeParameters"],InferTypeAnnotation:["typeParameter"],KeyofTypeAnnotation:["argument"],ObjectTypeMappedTypeProperty:["keyTparam","propType","sourceType","variance"],QualifiedTypeofIdentifier:["qualification","id"],TupleTypeLabeledElement:["label","elementType","variance"],TupleTypeSpreadElement:["label","typeAnnotation"],TypeOperator:["typeAnnotation"],TypePredicate:["parameterName","typeAnnotation","asserts"],NGRoot:["node"],NGPipeExpression:["left","right","arguments"],NGChainedExpression:["expressions"],NGEmptyExpression:[],NGMicrosyntax:["body"],NGMicrosyntaxKey:[],NGMicrosyntaxExpression:["expression","alias"],NGMicrosyntaxKeyedExpression:["key","expression"],NGMicrosyntaxLet:["key","value"],NGMicrosyntaxAs:["key","alias"],JsExpressionRoot:["node"],JsonRoot:["node"],TSJSDocAllType:[],TSJSDocUnknownType:[],TSJSDocNullableType:["typeAnnotation"],TSJSDocNonNullableType:["typeAnnotation"],NeverTypeAnnotation:[],UndefinedTypeAnnotation:[],UnknownTypeAnnotation:[],SatisfiesExpression:["expression","typeAnnotation"]},zQ=wW(VQ),yW=zQ;function UQ(s){let e=new Set(s);return t=>e.has(t==null?void 0:t.type)}var wi=UQ,$Q=wi(["Block","CommentBlock","MultiLine"]),Ca=$Q,jQ=wi(["AnyTypeAnnotation","ThisTypeAnnotation","NumberTypeAnnotation","VoidTypeAnnotation","BooleanTypeAnnotation","BigIntTypeAnnotation","SymbolTypeAnnotation","StringTypeAnnotation","NeverTypeAnnotation","UndefinedTypeAnnotation","UnknownTypeAnnotation","EmptyTypeAnnotation","MixedTypeAnnotation"]),SW=jQ;function KQ(s,e){let t=e.split(".");for(let i=t.length-1;i>=0;i--){let n=t[i];if(i===0)return s.type==="Identifier"&&s.name===n;if(s.type!=="MemberExpression"||s.optional||s.computed||s.property.type!=="Identifier"||s.property.name!==n)return!1;s=s.object}}function qQ(s,e){return e.some(t=>KQ(s,t))}var GQ=qQ;function ZQ({type:s}){return s.startsWith("TS")&&s.endsWith("Keyword")}var DW=ZQ;function TT(s,e){return e(s)||_Q(s,{getVisitorKeys:yW,predicate:e})}function pP(s){return s.type==="AssignmentExpression"||s.type==="BinaryExpression"||s.type==="LogicalExpression"||s.type==="NGPipeExpression"||s.type==="ConditionalExpression"||ui(s)||Rn(s)||s.type==="SequenceExpression"||s.type==="TaggedTemplateExpression"||s.type==="BindExpression"||s.type==="UpdateExpression"&&!s.prefix||Xl(s)||s.type==="TSNonNullExpression"||s.type==="ChainExpression"}function XQ(s){return s.expressions?s.expressions[0]:s.left??s.test??s.callee??s.object??s.tag??s.argument??s.expression}function LW(s){if(s.expressions)return["expressions",0];if(s.left)return["left"];if(s.test)return["test"];if(s.object)return["object"];if(s.callee)return["callee"];if(s.tag)return["tag"];if(s.argument)return["argument"];if(s.expression)return["expression"];throw new Error("Unexpected node has no left side.")}var Y_=wi(["Line","CommentLine","SingleLine","HashbangComment","HTMLOpen","HTMLClose","Hashbang","InterpreterDirective"]),YQ=wi(["ExportDefaultDeclaration","DeclareExportDeclaration","ExportNamedDeclaration","ExportAllDeclaration","DeclareExportAllDeclaration"]),zs=wi(["ArrayExpression","TupleExpression"]),il=wi(["ObjectExpression","RecordExpression"]);function QQ(s){return s.type==="LogicalExpression"&&s.operator==="??"}function Pc(s){return s.type==="NumericLiteral"||s.type==="Literal"&&typeof s.value=="number"}function xW(s){return s.type==="UnaryExpression"&&(s.operator==="+"||s.operator==="-")&&Pc(s.argument)}function sr(s){return!!(s&&(s.type==="StringLiteral"||s.type==="Literal"&&typeof s.value=="string"))}function kW(s){return s.type==="RegExpLiteral"||s.type==="Literal"&&!!s.regex}var mP=wi(["Literal","BooleanLiteral","BigIntLiteral","DirectiveLiteral","NullLiteral","NumericLiteral","RegExpLiteral","StringLiteral"]),JQ=wi(["Identifier","ThisExpression","Super","PrivateName","PrivateIdentifier"]),_h=wi(["ObjectTypeAnnotation","TSTypeLiteral","TSMappedType"]),yb=wi(["FunctionExpression","ArrowFunctionExpression"]);function eJ(s){return s.type==="FunctionExpression"||s.type==="ArrowFunctionExpression"&&s.body.type==="BlockStatement"}function _E(s){return ui(s)&&s.callee.type==="Identifier"&&["async","inject","fakeAsync","waitForAsync"].includes(s.callee.name)}var bs=wi(["JSXElement","JSXFragment"]);function PL(s){return s.method&&s.kind==="init"||s.kind==="get"||s.kind==="set"}function EW(s){return(s.type==="ObjectTypeProperty"||s.type==="ObjectTypeInternalSlot")&&!s.static&&!s.method&&s.kind!=="get"&&s.kind!=="set"&&s.value.type==="FunctionTypeAnnotation"}function tJ(s){return(s.type==="TypeAnnotation"||s.type==="TSTypeAnnotation")&&s.typeAnnotation.type==="FunctionTypeAnnotation"&&!s.static&&!RL(s,s.typeAnnotation)}var Fc=wi(["BinaryExpression","LogicalExpression","NGPipeExpression"]);function zp(s){return Rn(s)||s.type==="BindExpression"&&!!s.object}var iJ=wi(["TSThisType","NullLiteralTypeAnnotation","BooleanLiteralTypeAnnotation","StringLiteralTypeAnnotation","BigIntLiteralTypeAnnotation","NumberLiteralTypeAnnotation","TSLiteralType","TSTemplateLiteralType"]);function _P(s){return DW(s)||SW(s)||iJ(s)||(s.type==="GenericTypeAnnotation"||s.type==="TSTypeReference")&&!s.typeParameters&&!s.typeArguments}function nJ(s){return s.type==="Identifier"&&(s.name==="beforeEach"||s.name==="beforeAll"||s.name==="afterEach"||s.name==="afterAll")}var sJ=["it","it.only","it.skip","describe","describe.only","describe.skip","test","test.only","test.skip","test.step","test.describe","test.describe.only","test.describe.parallel","test.describe.parallel.only","test.describe.serial","test.describe.serial.only","skip","xit","xdescribe","xtest","fit","fdescribe","ftest"];function oJ(s){return GQ(s,sJ)}function FL(s,e){if((s==null?void 0:s.type)!=="CallExpression"||s.optional)return!1;let t=wa(s);if(t.length===1){if(_E(s)&&FL(e))return yb(t[0]);if(nJ(s.callee))return _E(t[0])}else if((t.length===2||t.length===3)&&(t[0].type==="TemplateLiteral"||sr(t[0]))&&oJ(s.callee))return t[2]&&!Pc(t[2])?!1:(t.length===2?yb(t[1]):eJ(t[1])&&uo(t[1]).length<=1)||_E(t[1]);return!1}var IW=s=>e=>((e==null?void 0:e.type)==="ChainExpression"&&(e=e.expression),s(e)),ui=IW(wi(["CallExpression","OptionalCallExpression"])),Rn=IW(wi(["MemberExpression","OptionalMemberExpression"]));function y5(s,e=5){return TW(s,e)<=e}function TW(s,e){let t=0;for(let i in s){let n=s[i];if(n&&typeof n=="object"&&typeof n.type=="string"&&(t++,t+=TW(n,e-t)),t>e)return t}return t}var rJ=.25;function vP(s,e){let{printWidth:t}=e;if(Re(s))return!1;let i=t*rJ;if(s.type==="ThisExpression"||s.type==="Identifier"&&s.name.length<=i||xW(s)&&!Re(s.argument))return!0;let n=s.type==="Literal"&&"regex"in s&&s.regex.pattern||s.type==="RegExpLiteral"&&s.pattern;return n?n.length<=i:sr(s)?t_(fa(s),e).length<=i:s.type==="TemplateLiteral"?s.expressions.length===0&&s.quasis[0].value.raw.length<=i&&!s.quasis[0].value.raw.includes(` `):s.type==="UnaryExpression"?vP(s.argument,{printWidth:t}):s.type==="CallExpression"&&s.arguments.length===0&&s.callee.type==="Identifier"?s.callee.name.length<=i-2:mP(s)}function vh(s,e){return bs(e)?OL(e):Re(e,Ze.Leading,t=>Ar(s,oi(t)))}function S5(s){return s.quasis.some(e=>e.value.raw.includes(` `))}function NW(s,e){return(s.type==="TemplateLiteral"&&S5(s)||s.type==="TaggedTemplateExpression"&&S5(s.quasi))&&!Ar(e,Ln(s),{backwards:!0})}function AW(s){if(!Re(s))return!1;let e=Si(!1,Dm(s,Ze.Dangling),-1);return e&&!Ca(e)}function aJ(s){if(s.length<=1)return!1;let e=0;for(let t of s)if(yb(t)){if(e+=1,e>1)return!0}else if(ui(t)){for(let i of wa(t))if(yb(i))return!0}return!1}function MW(s){let{node:e,parent:t,key:i}=s;return i==="callee"&&ui(e)&&ui(t)&&t.arguments.length>0&&e.arguments.length>t.arguments.length}var lJ=new Set(["!","-","+","~"]);function Wa(s,e=2){if(e<=0)return!1;if(s.type==="ChainExpression"||s.type==="TSNonNullExpression")return Wa(s.expression,e);let t=i=>Wa(i,e-1);if(kW(s))return Qm(s.pattern??s.regex.pattern)<=5;if(mP(s)||JQ(s)||s.type==="ArgumentPlaceholder")return!0;if(s.type==="TemplateLiteral")return s.quasis.every(i=>!i.value.raw.includes(` `))&&s.expressions.every(t);if(il(s))return s.properties.every(i=>!i.computed&&(i.shorthand||i.value&&t(i.value)));if(zs(s))return s.elements.every(i=>i===null||t(i));if(i_(s)){if(s.type==="ImportExpression"||Wa(s.callee,e)){let i=wa(s);return i.length<=e&&i.every(t)}return!1}return Rn(s)?Wa(s.object,e)&&Wa(s.property,e):s.type==="UnaryExpression"&&lJ.has(s.operator)||s.type==="UpdateExpression"?Wa(s.argument,e):!1}function fa(s){var e;return((e=s.extra)==null?void 0:e.raw)??s.raw}function dJ(s){return s}function Xc(s,e="es5"){return s.trailingComma==="es5"&&e==="es5"||s.trailingComma==="all"&&(e==="all"||e==="es5")}function Co(s,e){switch(s.type){case"BinaryExpression":case"LogicalExpression":case"AssignmentExpression":case"NGPipeExpression":return Co(s.left,e);case"MemberExpression":case"OptionalMemberExpression":return Co(s.object,e);case"TaggedTemplateExpression":return s.tag.type==="FunctionExpression"?!1:Co(s.tag,e);case"CallExpression":case"OptionalCallExpression":return s.callee.type==="FunctionExpression"?!1:Co(s.callee,e);case"ConditionalExpression":return Co(s.test,e);case"UpdateExpression":return!s.prefix&&Co(s.argument,e);case"BindExpression":return s.object&&Co(s.object,e);case"SequenceExpression":return Co(s.expressions[0],e);case"ChainExpression":case"TSSatisfiesExpression":case"TSAsExpression":case"TSNonNullExpression":case"AsExpression":case"AsConstExpression":case"SatisfiesExpression":return Co(s.expression,e);default:return e(s)}}var D5={"==":!0,"!=":!0,"===":!0,"!==":!0},nw={"*":!0,"/":!0,"%":!0},NT={">>":!0,">>>":!0,"<<":!0};function bP(s,e){return!(wS(e)!==wS(s)||s==="**"||D5[s]&&D5[e]||e==="%"&&nw[s]||s==="%"&&nw[e]||e!==s&&nw[e]&&nw[s]||NT[s]&&NT[e])}var cJ=new Map([["|>"],["??"],["||"],["&&"],["|"],["^"],["&"],["==","===","!=","!=="],["<",">","<=",">=","in","instanceof"],[">>","<<",">>>"],["+","-"],["*","/","%"],["**"]].flatMap((s,e)=>s.map(t=>[t,e])));function wS(s){return cJ.get(s)}function uJ(s){return!!NT[s]||s==="|"||s==="^"||s==="&"}function hJ(s){var e;if(s.rest)return!0;let t=uo(s);return((e=Si(!1,t,-1))==null?void 0:e.type)==="RestElement"}var vE=new WeakMap;function uo(s){if(vE.has(s))return vE.get(s);let e=[];return s.this&&e.push(s.this),Array.isArray(s.parameters)?e.push(...s.parameters):Array.isArray(s.params)&&e.push(...s.params),s.rest&&e.push(s.rest),vE.set(s,e),e}function gJ(s,e){let{node:t}=s,i=0,n=o=>e(o,i++);t.this&&s.call(n,"this"),Array.isArray(t.parameters)?s.each(n,"parameters"):Array.isArray(t.params)&&s.each(n,"params"),t.rest&&s.call(n,"rest")}var bE=new WeakMap;function wa(s){if(bE.has(s))return bE.get(s);if(s.type==="ChainExpression")return wa(s.expression);let e=s.arguments;return s.type==="ImportExpression"&&(e=[s.source],s.options&&e.push(s.options)),bE.set(s,e),e}function yS(s,e){let{node:t}=s;if(t.type==="ChainExpression")return s.call(()=>yS(s,e),"expression");t.type==="ImportExpression"?(s.call(i=>e(i,0),"source"),t.options&&s.call(i=>e(i,1),"options")):s.each(e,"arguments")}function L5(s,e){let t=[];if(s.type==="ChainExpression"&&(s=s.expression,t.push("expression")),s.type==="ImportExpression"){if(e===0||e===(s.options?-2:-1))return[...t,"source"];if(s.options&&(e===1||e===-1))return[...t,"options"];throw new RangeError("Invalid argument index")}if(e<0&&(e=s.arguments.length+e),e<0||e>=s.arguments.length)throw new RangeError("Invalid argument index");return[...t,"arguments",e]}function SS(s){return s.value.trim()==="prettier-ignore"&&!s.unignore}function OL(s){return(s==null?void 0:s.prettierIgnore)||Re(s,Ze.PrettierIgnore)}var Ze={Leading:2,Trailing:4,Dangling:8,Block:16,Line:32,PrettierIgnore:64,First:128,Last:256},RW=(s,e)=>{if(typeof s=="function"&&(e=s,s=0),s||e)return(t,i,n)=>!(s&Ze.Leading&&!t.leading||s&Ze.Trailing&&!t.trailing||s&Ze.Dangling&&(t.leading||t.trailing)||s&Ze.Block&&!Ca(t)||s&Ze.Line&&!Y_(t)||s&Ze.First&&i!==0||s&Ze.Last&&i!==n.length-1||s&Ze.PrettierIgnore&&!SS(t)||e&&!e(t))};function Re(s,e,t){if(!mi(s==null?void 0:s.comments))return!1;let i=RW(e,t);return i?s.comments.some(i):!0}function Dm(s,e,t){if(!Array.isArray(s==null?void 0:s.comments))return[];let i=RW(e,t);return i?s.comments.filter(i):s.comments}var Yc=(s,{originalText:e})=>gP(e,oi(s));function i_(s){return ui(s)||s.type==="NewExpression"||s.type==="ImportExpression"}function Qc(s){return s&&(s.type==="ObjectProperty"||s.type==="Property"&&!PL(s))}var Xl=wi(["TSAsExpression","TSSatisfiesExpression","AsExpression","AsConstExpression","SatisfiesExpression"]),bh=wi(["TSUnionType","UnionTypeAnnotation"]),CP=wi(["TSIntersectionType","IntersectionTypeAnnotation"]),Ch=wi(["TSConditionalType","ConditionalTypeAnnotation"]),fJ=new Set(["range","raw","comments","leadingComments","trailingComments","innerComments","extra","start","end","loc","flags","errors","tokens"]),yp=s=>{for(let e of s.quasis)delete e.value};function PW(s,e,t){var i,n;if(s.type==="Program"&&delete e.sourceType,(s.type==="BigIntLiteral"||s.type==="BigIntLiteralTypeAnnotation")&&s.value&&(e.value=s.value.toLowerCase()),(s.type==="BigIntLiteral"||s.type==="Literal")&&s.bigint&&(e.bigint=s.bigint.toLowerCase()),s.type==="EmptyStatement"||s.type==="JSXText"||s.type==="JSXExpressionContainer"&&(s.expression.type==="Literal"||s.expression.type==="StringLiteral")&&s.expression.value===" ")return null;if((s.type==="Property"||s.type==="ObjectProperty"||s.type==="MethodDefinition"||s.type==="ClassProperty"||s.type==="ClassMethod"||s.type==="PropertyDefinition"||s.type==="TSDeclareMethod"||s.type==="TSPropertySignature"||s.type==="ObjectTypeProperty"||s.type==="ImportAttribute")&&s.key&&!s.computed){let{key:r}=s;sr(r)||Pc(r)?e.key=String(r.value):r.type==="Identifier"&&(e.key=r.name)}if(s.type==="JSXElement"&&s.openingElement.name.name==="style"&&s.openingElement.attributes.some(r=>r.type==="JSXAttribute"&&r.name.name==="jsx"))for(let{type:r,expression:a}of e.children)r==="JSXExpressionContainer"&&a.type==="TemplateLiteral"&&yp(a);s.type==="JSXAttribute"&&s.name.name==="css"&&s.value.type==="JSXExpressionContainer"&&s.value.expression.type==="TemplateLiteral"&&yp(e.value.expression),s.type==="JSXAttribute"&&((i=s.value)==null?void 0:i.type)==="Literal"&&/["']|"|'/u.test(s.value.value)&&(e.value.value=As(!1,s.value.value,/["']|"|'/gu,'"'));let o=s.expression||s.callee;if(s.type==="Decorator"&&o.type==="CallExpression"&&o.callee.name==="Component"&&o.arguments.length===1){let r=s.expression.arguments[0].properties;for(let[a,l]of e.expression.arguments[0].properties.entries())switch(r[a].key.name){case"styles":zs(l.value)&&yp(l.value.elements[0]);break;case"template":l.value.type==="TemplateLiteral"&&yp(l.value);break}}s.type==="TaggedTemplateExpression"&&(s.tag.type==="MemberExpression"||s.tag.type==="Identifier"&&(s.tag.name==="gql"||s.tag.name==="graphql"||s.tag.name==="css"||s.tag.name==="md"||s.tag.name==="markdown"||s.tag.name==="html")||s.tag.type==="CallExpression")&&yp(e.quasi),s.type==="TemplateLiteral"&&((n=s.leadingComments)!=null&&n.some(r=>Ca(r)&&["GraphQL","HTML"].some(a=>r.value===` ${a} `))||t.type==="CallExpression"&&t.callee.name==="graphql"||!s.leadingComments)&&yp(e),s.type==="ChainExpression"&&s.expression.type==="TSNonNullExpression"&&(e.type="TSNonNullExpression",e.expression.type="ChainExpression"),s.type==="TSMappedType"&&(delete e.key,delete e.constraint),s.type==="TSEnumDeclaration"&&delete e.body}PW.ignoredProperties=fJ;var pJ=PW,Zf="string",Oc="array",Q_="cursor",Xf="indent",Yf="align",Qf="trim",pa="group",Xh="fill",sd="if-break",Jf="indent-if-break",ep="line-suffix",Yh="line-suffix-boundary",ur="line",Jc="label",eu="break-parent",FW=new Set([Q_,Xf,Yf,Qf,pa,Xh,sd,Jf,ep,Yh,ur,Jc,eu]);function mJ(s){if(typeof s=="string")return Zf;if(Array.isArray(s))return Oc;if(!s)return;let{type:e}=s;if(FW.has(e))return e}var Qh=mJ,_J=s=>new Intl.ListFormat("en-US",{type:"disjunction"}).format(s);function vJ(s){let e=s===null?"null":typeof s;if(e!=="string"&&e!=="object")return`Unexpected doc '${e}', Expected it to be 'string' or 'object'.`;if(Qh(s))throw new Error("doc is valid.");let t=Object.prototype.toString.call(s);if(t!=="[object Object]")return`Unexpected doc '${t}'.`;let i=_J([...FW].map(n=>`'${n}'`));return`Unexpected doc.type '${s.type}'. Expected it to be ${i}.`}var bJ=class extends Error{constructor(e){super(vJ(e));Q1(this,"name","InvalidDocError");this.doc=e}},Sb=bJ,x5={};function CJ(s,e,t,i){let n=[s];for(;n.length>0;){let o=n.pop();if(o===x5){t(n.pop());continue}t&&n.push(o,x5);let r=Qh(o);if(!r)throw new Sb(o);if((e==null?void 0:e(o))!==!1)switch(r){case Oc:case Xh:{let a=r===Oc?o:o.parts;for(let l=a.length,d=l-1;d>=0;--d)n.push(a[d]);break}case sd:n.push(o.flatContents,o.breakContents);break;case pa:if(i&&o.expandedStates)for(let a=o.expandedStates.length,l=a-1;l>=0;--l)n.push(o.expandedStates[l]);else n.push(o.contents);break;case Yf:case Xf:case Jf:case Jc:case ep:n.push(o.contents);break;case Zf:case Q_:case Qf:case Yh:case ur:case eu:break;default:throw new Sb(o)}}}var wP=CJ;function J_(s,e){if(typeof s=="string")return e(s);let t=new Map;return i(s);function i(o){if(t.has(o))return t.get(o);let r=n(o);return t.set(o,r),r}function n(o){switch(Qh(o)){case Oc:return e(o.map(i));case Xh:return e({...o,parts:o.parts.map(i)});case sd:return e({...o,breakContents:i(o.breakContents),flatContents:i(o.flatContents)});case pa:{let{expandedStates:r,contents:a}=o;return r?(r=r.map(i),a=r[0]):a=i(a),e({...o,contents:a,expandedStates:r})}case Yf:case Xf:case Jf:case Jc:case ep:return e({...o,contents:i(o.contents)});case Zf:case Q_:case Qf:case Yh:case ur:case eu:return e(o);default:throw new Sb(o)}}}function OW(s,e,t){let i=t,n=!1;function o(r){if(n)return!1;let a=e(r);a!==void 0&&(n=!0,i=a)}return wP(s,o),i}function wJ(s){if(s.type===pa&&s.break||s.type===ur&&s.hard||s.type===eu)return!0}function So(s){return OW(s,wJ,!1)}function k5(s){if(s.length>0){let e=Si(!1,s,-1);!e.expandedStates&&!e.break&&(e.break="propagated")}return null}function yJ(s){let e=new Set,t=[];function i(o){if(o.type===eu&&k5(t),o.type===pa){if(t.push(o),e.has(o))return!1;e.add(o)}}function n(o){o.type===pa&&t.pop().break&&k5(t)}wP(s,i,n,!0)}function SJ(s){return s.type===ur&&!s.hard?s.soft?"":" ":s.type===sd?s.flatContents:s}function AT(s){return J_(s,SJ)}function DJ(s){switch(Qh(s)){case Xh:if(s.parts.every(e=>e===""))return"";break;case pa:if(!s.contents&&!s.id&&!s.break&&!s.expandedStates)return"";if(s.contents.type===pa&&s.contents.id===s.id&&s.contents.break===s.break&&s.contents.expandedStates===s.expandedStates)return s.contents;break;case Yf:case Xf:case Jf:case ep:if(!s.contents)return"";break;case sd:if(!s.flatContents&&!s.breakContents)return"";break;case Oc:{let e=[];for(let t of s){if(!t)continue;let[i,...n]=Array.isArray(t)?t:[t];typeof i=="string"&&typeof Si(!1,e,-1)=="string"?e[e.length-1]+=i:e.push(i),e.push(...n)}return e.length===0?"":e.length===1?e[0]:e}case Zf:case Q_:case Qf:case Yh:case ur:case Jc:case eu:break;default:throw new Sb(s)}return s}function yP(s){return J_(s,e=>DJ(e))}function _f(s,e=VW){return J_(s,t=>typeof t=="string"?si(e,t.split(` `)):t)}function LJ(s){if(s.type===ur)return!0}function xJ(s){return OW(s,LJ,!1)}function MT(s,e){return s.type===Jc?{...s,contents:e(s.contents)}:e(s)}function kJ(s){let e=!0;return wP(s,t=>{switch(Qh(t)){case Zf:if(t==="")break;case Qf:case Yh:case ur:case eu:return e=!1,!1}}),e}var EJ=()=>{},IJ=EJ;function Le(s){return{type:Xf,contents:s}}function gd(s,e){return{type:Yf,contents:e,n:s}}function re(s,e={}){return IJ(e.expandedStates),{type:pa,id:e.id,contents:s,break:!!e.shouldBreak,expandedStates:e.expandedStates}}function TJ(s){return gd(Number.NEGATIVE_INFINITY,s)}function BW(s){return gd(-1,s)}function qg(s,e){return re(s[0],{...e,expandedStates:s})}function WW(s){return{type:Xh,parts:s}}function Rt(s,e="",t={}){return{type:sd,breakContents:s,flatContents:e,groupId:t.groupId}}function BL(s,e){return{type:Jf,contents:s,groupId:e.groupId,negate:e.negate}}function E5(s){return{type:ep,contents:s}}var Bc={type:Yh},fd={type:eu},HW={type:ur,hard:!0},NJ={type:ur,hard:!0,literal:!0},Ue={type:ur},be={type:ur,soft:!0},Se=[HW,fd],VW=[NJ,fd],sw={type:Q_};function si(s,e){let t=[];for(let i=0;i0){for(let n=0;n 1&&e.every(t=>t.trimStart()[0]==="*")}var RJ=MJ;function PJ(s,e){let t=s.node;if(Y_(t))return e.originalText.slice(Ln(t),oi(t)).trimEnd();if(Ca(t))return RJ(t)?FJ(t):["/*",_f(t.value),"*/"];throw new Error("Not a comment: "+JSON.stringify(t))}function FJ(s){let e=s.value.split(` `);return["/*",si(Se,e.map((t,i)=>i===0?t.trimEnd():" "+(i UJ,ownLine:()=>zJ,remaining:()=>$J});function OJ(s){let e=s.type||s.kind||"(unknown type)",t=String(s.name||s.id&&(typeof s.id=="object"?s.id.name:s.id)||s.key&&(typeof s.key=="object"?s.key.name:s.key)||s.value&&(typeof s.value=="object"?"":String(s.value))||s.operator||"");return t.length>20&&(t=t.slice(0,19)+"…"),e+(t?" "+t:"")}function SP(s,e){(s.comments??(s.comments=[])).push(e),e.printed=!1,e.nodeDescription=OJ(s)}function Us(s,e){e.leading=!0,e.trailing=!1,SP(s,e)}function ma(s,e,t){e.leading=!1,e.trailing=!1,t&&(e.marker=t),SP(s,e)}function pn(s,e){e.leading=!1,e.trailing=!0,SP(s,e)}function BJ(s,e){let t=null,i=e;for(;i!==t;)t=i,i=Jm(s,i),i=uP(s,i),i=hP(s,i),i=e_(s,i);return i}var e0=BJ;function WJ(s,e){let t=e0(s,e);return t===!1?"":s.charAt(t)}var nl=WJ;function HJ(s,e,t){for(let i=e;i e(s))}function UJ(s){return[jJ,GW,jW,XW,DP,LP,$W,KW,ZW,iee,see,kP,dee,xP,hee,gee,pee].some(e=>e(s))}function $J(s){return[YW,DP,LP,GJ,eee,qW,kP,JJ,QJ,uee,xP,cee].some(e=>e(s))}function tp(s,e){let t=(s.body||s.properties).find(({type:i})=>i!=="EmptyStatement");t?Us(t,e):ma(s,e)}function RT(s,e){s.type==="BlockStatement"?tp(s,e):Us(s,e)}function jJ({comment:s,followingNode:e}){return e&&UW(s)?(Us(e,s),!0):!1}function DP({comment:s,precedingNode:e,enclosingNode:t,followingNode:i,text:n}){if((t==null?void 0:t.type)!=="IfStatement"||!i)return!1;if(nl(n,oi(s))===")")return pn(e,s),!0;if(e===t.consequent&&i===t.alternate){let o=e0(n,oi(t.consequent));if(Ln(s) "?(ma(e,s),!0):!1}function eee({comment:s,enclosingNode:e,text:t}){return nl(t,oi(s))!==")"?!1:e&&(QW(e)&&uo(e).length===0||i_(e)&&wa(e).length===0)?(ma(e,s),!0):((e==null?void 0:e.type)==="MethodDefinition"||(e==null?void 0:e.type)==="TSAbstractMethodDefinition")&&uo(e.value).length===0?(ma(e.value,s),!0):!1}function tee({comment:s,precedingNode:e,enclosingNode:t,followingNode:i,text:n}){return(e==null?void 0:e.type)==="ComponentTypeParameter"&&((t==null?void 0:t.type)==="DeclareComponent"||(t==null?void 0:t.type)==="ComponentTypeAnnotation")&&(i==null?void 0:i.type)!=="ComponentTypeParameter"||((e==null?void 0:e.type)==="ComponentParameter"||(e==null?void 0:e.type)==="RestElement")&&(t==null?void 0:t.type)==="ComponentDeclaration"&&nl(n,oi(s))===")"?(pn(e,s),!0):!1}function GW({comment:s,precedingNode:e,enclosingNode:t,followingNode:i,text:n}){return(e==null?void 0:e.type)==="FunctionTypeParam"&&(t==null?void 0:t.type)==="FunctionTypeAnnotation"&&(i==null?void 0:i.type)!=="FunctionTypeParam"||((e==null?void 0:e.type)==="Identifier"||(e==null?void 0:e.type)==="AssignmentPattern"||(e==null?void 0:e.type)==="ObjectPattern"||(e==null?void 0:e.type)==="ArrayPattern"||(e==null?void 0:e.type)==="RestElement"||(e==null?void 0:e.type)==="TSParameterProperty")&&QW(t)&&nl(n,oi(s))===")"?(pn(e,s),!0):!Ca(s)&&((t==null?void 0:t.type)==="FunctionDeclaration"||(t==null?void 0:t.type)==="FunctionExpression"||(t==null?void 0:t.type)==="ObjectMethod")&&(i==null?void 0:i.type)==="BlockStatement"&&t.body===i&&e0(n,oi(s))===Ln(i)?(tp(i,s),!0):!1}function ZW({comment:s,enclosingNode:e}){return(e==null?void 0:e.type)==="LabeledStatement"?(Us(e,s),!0):!1}function xP({comment:s,enclosingNode:e}){return((e==null?void 0:e.type)==="ContinueStatement"||(e==null?void 0:e.type)==="BreakStatement")&&!e.label?(pn(e,s),!0):!1}function iee({comment:s,precedingNode:e,enclosingNode:t}){return ui(t)&&e&&t.callee===e&&t.arguments.length>0?(Us(t.arguments[0],s),!0):!1}function nee({comment:s,precedingNode:e,enclosingNode:t,followingNode:i}){return bh(t)?(SS(s)&&(i.prettierIgnore=!0,s.unignore=!0),e?(pn(e,s),!0):!1):(bh(i)&&SS(s)&&(i.types[0].prettierIgnore=!0,s.unignore=!0),!1)}function see({comment:s,enclosingNode:e}){return Qc(e)?(Us(e,s),!0):!1}function kP({comment:s,enclosingNode:e,ast:t,isLastComment:i}){var n;return((n=t==null?void 0:t.body)==null?void 0:n.length)===0?(i?ma(t,s):Us(t,s),!0):(e==null?void 0:e.type)==="Program"&&e.body.length===0&&!mi(e.directives)?(i?ma(e,s):Us(e,s),!0):!1}function oee({comment:s,enclosingNode:e}){return(e==null?void 0:e.type)==="ForInStatement"||(e==null?void 0:e.type)==="ForOfStatement"?(Us(e,s),!0):!1}function XW({comment:s,precedingNode:e,enclosingNode:t,text:i}){if((t==null?void 0:t.type)==="ImportSpecifier"||(t==null?void 0:t.type)==="ExportSpecifier")return Us(t,s),!0;let n=(e==null?void 0:e.type)==="ImportSpecifier"&&(t==null?void 0:t.type)==="ImportDeclaration",o=(e==null?void 0:e.type)==="ExportSpecifier"&&(t==null?void 0:t.type)==="ExportNamedDeclaration";return(n||o)&&Ar(i,oi(s))?(pn(e,s),!0):!1}function ree({comment:s,enclosingNode:e}){return(e==null?void 0:e.type)==="AssignmentPattern"?(Us(e,s),!0):!1}var aee=new Set(["VariableDeclarator","AssignmentExpression","TypeAlias","TSTypeAliasDeclaration"]),lee=new Set(["ObjectExpression","RecordExpression","ArrayExpression","TupleExpression","TemplateLiteral","TaggedTemplateExpression","ObjectTypeAnnotation","TSTypeLiteral"]);function dee({comment:s,enclosingNode:e,followingNode:t}){return aee.has(e==null?void 0:e.type)&&t&&(lee.has(t.type)||Ca(s))?(Us(t,s),!0):!1}function cee({comment:s,enclosingNode:e,followingNode:t,text:i}){return!t&&((e==null?void 0:e.type)==="TSMethodSignature"||(e==null?void 0:e.type)==="TSDeclareFunction"||(e==null?void 0:e.type)==="TSAbstractMethodDefinition")&&nl(i,oi(s))===";"?(pn(e,s),!0):!1}function YW({comment:s,enclosingNode:e,followingNode:t}){if(SS(s)&&(e==null?void 0:e.type)==="TSMappedType"&&(t==null?void 0:t.type)==="TSTypeParameter"&&t.constraint)return e.prettierIgnore=!0,s.unignore=!0,!0}function uee({comment:s,precedingNode:e,enclosingNode:t,followingNode:i}){return(t==null?void 0:t.type)!=="TSMappedType"?!1:(i==null?void 0:i.type)==="TSTypeParameter"&&i.name?(Us(i.name,s),!0):(e==null?void 0:e.type)==="TSTypeParameter"&&e.constraint?(pn(e.constraint,s),!0):!1}function hee({comment:s,enclosingNode:e,followingNode:t}){return!e||e.type!=="SwitchCase"||e.test||!t||t!==e.consequent[0]?!1:(t.type==="BlockStatement"&&Y_(s)?tp(t,s):ma(e,s),!0)}function gee({comment:s,precedingNode:e,enclosingNode:t,followingNode:i}){return bh(e)&&((t.type==="TSArrayType"||t.type==="ArrayTypeAnnotation")&&!i||CP(t))?(pn(Si(!1,e.types,-1),s),!0):!1}function fee({comment:s,enclosingNode:e,precedingNode:t,followingNode:i}){if(((e==null?void 0:e.type)==="ObjectPattern"||(e==null?void 0:e.type)==="ArrayPattern")&&(i==null?void 0:i.type)==="TSTypeAnnotation")return t?pn(t,s):ma(e,s),!0}function pee({comment:s,precedingNode:e,enclosingNode:t,followingNode:i}){var n;if(!i&&(t==null?void 0:t.type)==="UnaryExpression"&&((e==null?void 0:e.type)==="LogicalExpression"||(e==null?void 0:e.type)==="BinaryExpression")){let o=((n=t.argument.loc)==null?void 0:n.start.line)!==e.right.loc.start.line,r=Y_(s)||s.loc.start.line===s.loc.end.line,a=s.loc.start.line===e.right.loc.start.line;if(o&&r&&a)return pn(e.right,s),!0}return!1}var QW=wi(["ArrowFunctionExpression","FunctionExpression","FunctionDeclaration","ObjectMethod","ClassMethod","TSDeclareFunction","TSCallSignatureDeclaration","TSConstructSignatureDeclaration","TSMethodSignature","TSConstructorType","TSFunctionType","TSDeclareMethod"]),mee=new Set(["EmptyStatement","TemplateElement","TSEmptyBodyFunctionExpression","ChainExpression"]);function _ee(s){return!mee.has(s.type)}function vee(s,e){var t;if((e.parser==="typescript"||e.parser==="flow"||e.parser==="acorn"||e.parser==="espree"||e.parser==="meriyah"||e.parser==="__babel_estree")&&s.type==="MethodDefinition"&&((t=s.value)==null?void 0:t.type)==="FunctionExpression"&&uo(s.value).length===0&&!s.value.returnType&&!mi(s.value.typeParameters)&&s.value.body)return[...s.decorators||[],s.key,s.value.body]}function JW(s){let{node:e,parent:t}=s;return(bs(e)||t&&(t.type==="JSXSpreadAttribute"||t.type==="JSXSpreadChild"||bh(t)||(t.type==="ClassDeclaration"||t.type==="ClassExpression")&&t.superClass===e))&&(!OL(e)||bh(t))}function bee(s,{parser:e}){if(e==="flow"||e==="babel-flow")return s=As(!1,s,/[\s(]/gu,""),s===""||s==="/*"||s==="/*::"}function Cee(s){switch(s){case"cr":return"\r";case"crlf":return`\r `;default:return` `}}var Uo=Symbol("MODE_BREAK"),kl=Symbol("MODE_FLAT"),Yp=Symbol("cursor"),PT=Symbol("DOC_FILL_PRINTED_LENGTH");function eH(){return{value:"",length:0,queue:[]}}function wee(s,e){return FT(s,{type:"indent"},e)}function yee(s,e,t){return e===Number.NEGATIVE_INFINITY?s.root||eH():e<0?FT(s,{type:"dedent"},t):e?e.type==="root"?{...s,root:s}:FT(s,{type:typeof e=="string"?"stringAlign":"numberAlign",n:e},t):s}function FT(s,e,t){let i=e.type==="dedent"?s.queue.slice(0,-1):[...s.queue,e],n="",o=0,r=0,a=0;for(let f of i)switch(f.type){case"indent":c(),t.useTabs?l(1):d(t.tabWidth);break;case"stringAlign":c(),n+=f.n,o+=f.n.length;break;case"numberAlign":r+=1,a+=f.n;break;default:throw new Error(`Unexpected type '${f.type}'`)}return h(),{...s,value:n,length:o,queue:i};function l(f){n+=" ".repeat(f),o+=t.tabWidth*f}function d(f){n+=" ".repeat(f),o+=f}function c(){t.useTabs?u():h()}function u(){r>0&&l(r),g()}function h(){a>0&&d(a),g()}function g(){r=0,a=0}}function OT(s){let e=0,t=0,i=s.length;e:for(;i--;){let n=s[i];if(n===Yp){t++;continue}for(let o=n.length-1;o>=0;o--){let r=n[o];if(r===" "||r===" ")e++;else{s[i]=n.slice(0,o+1);break e}}}if(e>0||t>0)for(s.length=i+1;t-- >0;)s.push(Yp);return e}function ow(s,e,t,i,n,o){if(t===Number.POSITIVE_INFINITY)return!0;let r=e.length,a=[s],l=[];for(;t>=0;){if(a.length===0){if(r===0)return!0;a.push(e[--r]);continue}let{mode:d,doc:c}=a.pop(),u=Qh(c);switch(u){case Zf:l.push(c),t-=Qm(c);break;case Oc:case Xh:{let h=u===Oc?c:c.parts,g=c[PT]??0;for(let f=h.length-1;f>=g;f--)a.push({mode:d,doc:h[f]});break}case Xf:case Yf:case Jf:case Jc:a.push({mode:d,doc:c.contents});break;case Qf:t+=OT(l);break;case pa:{if(o&&c.break)return!1;let h=c.break?Uo:d,g=c.expandedStates&&h===Uo?Si(!1,c.expandedStates,-1):c.contents;a.push({mode:h,doc:g});break}case sd:{let h=(c.groupId?n[c.groupId]||kl:d)===Uo?c.breakContents:c.flatContents;h&&a.push({mode:d,doc:h});break}case ur:if(d===Uo||c.hard)return!0;c.soft||(l.push(" "),t--);break;case ep:i=!0;break;case Yh:if(i)return!1;break}}return!1}function tH(s,e){let t={},i=e.printWidth,n=Cee(e.endOfLine),o=0,r=[{ind:eH(),mode:Uo,doc:s}],a=[],l=!1,d=[],c=0;for(yJ(s);r.length>0;){let{ind:h,mode:g,doc:f}=r.pop();switch(Qh(f)){case Zf:{let m=n!==` `?As(!1,f,` `,n):f;a.push(m),r.length>0&&(o+=Qm(m));break}case Oc:for(let m=f.length-1;m>=0;m--)r.push({ind:h,mode:g,doc:f[m]});break;case Q_:if(c>=2)throw new Error("There are too many 'cursor' in doc.");a.push(Yp),c++;break;case Xf:r.push({ind:wee(h,e),mode:g,doc:f.contents});break;case Yf:r.push({ind:yee(h,f.n,e),mode:g,doc:f.contents});break;case Qf:o-=OT(a);break;case pa:switch(g){case kl:if(!l){r.push({ind:h,mode:f.break?Uo:kl,doc:f.contents});break}case Uo:{l=!1;let m={ind:h,mode:kl,doc:f.contents},_=i-o,v=d.length>0;if(!f.break&&ow(m,r,_,v,t))r.push(m);else if(f.expandedStates){let b=Si(!1,f.expandedStates,-1);if(f.break){r.push({ind:h,mode:Uo,doc:b});break}else for(let C=1;C =f.expandedStates.length){r.push({ind:h,mode:Uo,doc:b});break}else{let w=f.expandedStates[C],y={ind:h,mode:kl,doc:w};if(ow(y,r,_,v,t)){r.push(y);break}}}else r.push({ind:h,mode:Uo,doc:f.contents});break}}f.id&&(t[f.id]=Si(!1,r,-1).mode);break;case Xh:{let m=i-o,_=f[PT]??0,{parts:v}=f,b=v.length-_;if(b===0)break;let C=v[_+0],w=v[_+1],y={ind:h,mode:kl,doc:C},D={ind:h,mode:Uo,doc:C},L=ow(y,[],m,d.length>0,t,!0);if(b===1){L?r.push(y):r.push(D);break}let k={ind:h,mode:kl,doc:w},I={ind:h,mode:Uo,doc:w};if(b===2){L?r.push(k,y):r.push(I,D);break}let O=v[_+2],R={ind:h,mode:g,doc:{...f,[PT]:_+2}};ow({ind:h,mode:kl,doc:[C,w,O]},[],m,d.length>0,t,!0)?r.push(R,k,y):L?r.push(R,I,y):r.push(R,I,D);break}case sd:case Jf:{let m=f.groupId?t[f.groupId]:g;if(m===Uo){let _=f.type===sd?f.breakContents:f.negate?f.contents:Le(f.contents);_&&r.push({ind:h,mode:g,doc:_})}if(m===kl){let _=f.type===sd?f.flatContents:f.negate?Le(f.contents):f.contents;_&&r.push({ind:h,mode:g,doc:_})}break}case ep:d.push({ind:h,mode:g,doc:f.contents});break;case Yh:d.length>0&&r.push({ind:h,mode:g,doc:HW});break;case ur:switch(g){case kl:if(f.hard)l=!0;else{f.soft||(a.push(" "),o+=1);break}case Uo:if(d.length>0){r.push({ind:h,mode:g,doc:f},...d.reverse()),d.length=0;break}f.literal?h.root?(a.push(n,h.root.value),o=h.root.length):(a.push(n),o=0):(o-=OT(a),a.push(n+h.value),o=h.length);break}break;case Jc:r.push({ind:h,mode:g,doc:f.contents});break;case eu:break;default:throw new Sb(f)}r.length===0&&d.length>0&&(r.push(...d.reverse()),d.length=0)}let u=a.indexOf(Yp);if(u!==-1){let h=a.indexOf(Yp,u+1);if(h===-1)return{formatted:a.filter(_=>_!==Yp).join("")};let g=a.slice(0,u).join(""),f=a.slice(u+1,h).join(""),m=a.slice(h+1).join("");return{formatted:g+f+m,cursorNodeStart:g.length,cursorNodeText:f}}return{formatted:a.join("")}}function See(s,e,t=0){let i=0;for(let n=t;n {if(o.push(e()),d.tail)return;let{tabWidth:c}=t,u=d.value.raw,h=u.includes(` `)?xee(u,c):a;a=h;let g=r[l],f=i[n][l],m=wh(t.originalText,oi(d),Ln(i.quasis[l+1]));if(!m){let v=tH(g,{...t,printWidth:Number.POSITIVE_INFINITY}).formatted;v.includes(` `)?m=!0:g=v}m&&(Re(f)||f.type==="Identifier"||Rn(f)||f.type==="ConditionalExpression"||f.type==="SequenceExpression"||Xl(f)||Fc(f))&&(g=[Le([be,g]),be]);let _=h===0&&u.endsWith(` `)?gd(Number.NEGATIVE_INFINITY,g):AJ(g,h,c);o.push(re(["${",_,Bc,"}"]))},"quasis"),o.push("`"),o}function kee(s,e){let t=e("quasi");return s1(t.label&&{tagged:!0,...t.label},[e("tag"),e(s.node.typeArguments?"typeArguments":"typeParameters"),Bc,t])}function Eee(s,e,t){let{node:i}=s,n=i.quasis[0].value.raw.trim().split(/\s*\|\s*/u);if(n.length>1||n.some(o=>o.length>0)){e.__inJestEach=!0;let o=s.map(t,"expressions");e.__inJestEach=!1;let r=[],a=o.map(h=>"${"+tH(h,{...e,printWidth:Number.POSITIVE_INFINITY,endOfLine:"lf"}).formatted+"}"),l=[{hasLineBreak:!1,cells:[]}];for(let h=1;h h.cells.length)),c=Array.from({length:d}).fill(0),u=[{cells:n},...l.filter(h=>h.cells.length>0)];for(let{cells:h}of u.filter(g=>!g.hasLineBreak))for(let[g,f]of h.entries())c[g]=Math.max(c[g],Qm(f));return r.push(Bc,"`",Le([Se,si(Se,u.map(h=>si(" | ",h.cells.map((g,f)=>h.hasLineBreak?g:g+" ".repeat(c[f]-Qm(g))))))]),Se,"`"),r}}function Iee(s,e){let{node:t}=s,i=e();return Re(t)&&(i=re([Le([be,i]),be])),["${",i,Bc,"}"]}function EP(s,e){return s.map(t=>Iee(t,e),"expressions")}function nH(s,e){return J_(s,t=>typeof t=="string"?e?As(!1,t,/(\\*)`/gu,"$1$1\\`"):sH(t):t)}function sH(s){return As(!1,s,/([\\`]|\$\{)/gu,String.raw`\$1`)}function Tee({node:s,parent:e}){let t=/^[fx]?(?:describe|it|test)$/u;return e.type==="TaggedTemplateExpression"&&e.quasi===s&&e.tag.type==="MemberExpression"&&e.tag.property.type==="Identifier"&&e.tag.property.name==="each"&&(e.tag.object.type==="Identifier"&&t.test(e.tag.object.name)||e.tag.object.type==="MemberExpression"&&e.tag.object.property.type==="Identifier"&&(e.tag.object.property.name==="only"||e.tag.object.property.name==="skip")&&e.tag.object.object.type==="Identifier"&&t.test(e.tag.object.object.name))}var BT=[(s,e)=>s.type==="ObjectExpression"&&e==="properties",(s,e)=>s.type==="CallExpression"&&s.callee.type==="Identifier"&&s.callee.name==="Component"&&e==="arguments",(s,e)=>s.type==="Decorator"&&e==="expression"];function Nee(s){let e=i=>i.type==="TemplateLiteral",t=(i,n)=>Qc(i)&&!i.computed&&i.key.type==="Identifier"&&i.key.name==="styles"&&n==="value";return s.match(e,(i,n)=>zs(i)&&n==="elements",t,...BT)||s.match(e,t,...BT)}function Aee(s){return s.match(e=>e.type==="TemplateLiteral",(e,t)=>Qc(e)&&!e.computed&&e.key.type==="Identifier"&&e.key.name==="template"&&t==="value",...BT)}function CE(s,e){return Re(s,Ze.Block|Ze.Leading,({value:t})=>t===` ${e} `)}function oH({node:s,parent:e},t){return CE(s,t)||Mee(e)&&CE(e,t)||e.type==="ExpressionStatement"&&CE(e,t)}function Mee(s){return s.type==="AsConstExpression"||s.type==="TSAsExpression"&&s.typeAnnotation.type==="TSTypeReference"&&s.typeAnnotation.typeName.type==="Identifier"&&s.typeAnnotation.typeName.name==="const"}async function Ree(s,e,t){let{node:i}=t,n=i.quasis.map(c=>c.value.raw),o=0,r=n.reduce((c,u,h)=>h===0?u:c+"@prettier-placeholder-"+o+++"-id"+u,""),a=await s(r,{parser:"scss"}),l=EP(t,e),d=Pee(a,l);if(!d)throw new Error("Couldn't insert all the expressions");return["`",Le([Se,d]),be,"`"]}function Pee(s,e){if(!mi(e))return s;let t=0,i=J_(yP(s),n=>typeof n!="string"||!n.includes("@prettier-placeholder")?n:n.split(/@prettier-placeholder-(\d+)-id/u).map((o,r)=>r%2===0?_f(o):(t++,e[o])));return e.length===t?i:null}function Fee({node:s,parent:e,grandparent:t}){return t&&s.quasis&&e.type==="JSXExpressionContainer"&&t.type==="JSXElement"&&t.openingElement.name.name==="style"&&t.openingElement.attributes.some(i=>i.type==="JSXAttribute"&&i.name.name==="jsx")||(e==null?void 0:e.type)==="TaggedTemplateExpression"&&e.tag.type==="Identifier"&&e.tag.name==="css"||(e==null?void 0:e.type)==="TaggedTemplateExpression"&&e.tag.type==="MemberExpression"&&e.tag.object.name==="css"&&(e.tag.property.name==="global"||e.tag.property.name==="resolve")}function rw(s){return s.type==="Identifier"&&s.name==="styled"}function I5(s){return/^[A-Z]/u.test(s.object.name)&&s.property.name==="extend"}function Oee({parent:s}){if(!s||s.type!=="TaggedTemplateExpression")return!1;let e=s.tag.type==="ParenthesizedExpression"?s.tag.expression:s.tag;switch(e.type){case"MemberExpression":return rw(e.object)||I5(e);case"CallExpression":return rw(e.callee)||e.callee.type==="MemberExpression"&&(e.callee.object.type==="MemberExpression"&&(rw(e.callee.object.object)||I5(e.callee.object))||e.callee.object.type==="CallExpression"&&rw(e.callee.object.callee));case"Identifier":return e.name==="css";default:return!1}}function Bee({parent:s,grandparent:e}){return(e==null?void 0:e.type)==="JSXAttribute"&&s.type==="JSXExpressionContainer"&&e.name.type==="JSXIdentifier"&&e.name.name==="css"}function Wee(s){if(Fee(s)||Oee(s)||Bee(s)||Nee(s))return Ree}var Hee=Wee;async function Vee(s,e,t){let{node:i}=t,n=i.quasis.length,o=EP(t,e),r=[];for(let a=0;a 2&&h[0].trim()===""&&h[1].trim()==="",_=g>2&&h[g-1].trim()===""&&h[g-2].trim()==="",v=h.every(C=>/^\s*(?:#[^\n\r]*)?$/u.test(C));if(!c&&/#[^\n\r]*$/u.test(h[g-1]))return null;let b=null;v?b=zee(h):b=await s(u,{parser:"graphql"}),b?(b=nH(b,!1),!d&&m&&r.push(""),r.push(b),!c&&_&&r.push("")):!d&&!c&&m&&r.push(""),f&&r.push(f)}return["`",Le([Se,si(Se,r)]),Se,"`"]}function zee(s){let e=[],t=!1,i=s.map(n=>n.trim());for(let[n,o]of i.entries())o!==""&&(i[n-1]===""&&t?e.push([Se,o]):e.push(o),t=!0);return e.length===0?null:si(Se,e)}function Uee({node:s,parent:e}){return oH({node:s,parent:e},"GraphQL")||e&&(e.type==="TaggedTemplateExpression"&&(e.tag.type==="MemberExpression"&&e.tag.object.name==="graphql"&&e.tag.property.name==="experimental"||e.tag.type==="Identifier"&&(e.tag.name==="gql"||e.tag.name==="graphql"))||e.type==="CallExpression"&&e.callee.type==="Identifier"&&e.callee.name==="graphql")}function $ee(s){if(Uee(s))return Vee}var jee=$ee,wE=0;async function rH(s,e,t,i,n){let{node:o}=i,r=wE;wE=wE+1>>>0;let a=v=>`PRETTIER_HTML_PLACEHOLDER_${v}_${r}_IN_JS`,l=o.quasis.map((v,b,C)=>b===C.length-1?v.value.cooked:v.value.cooked+a(b)).join(""),d=EP(i,t),c=new RegExp(a(String.raw`(\d+)`),"gu"),u=0,h=await e(l,{parser:s,__onHtmlRoot(v){u=v.children.length}}),g=J_(h,v=>{if(typeof v!="string")return v;let b=[],C=v.split(c);for(let w=0;w 1?Le(re(g)):re(g),m,"`"]))}function Kee(s){return oH(s,"HTML")||s.match(e=>e.type==="TemplateLiteral",(e,t)=>e.type==="TaggedTemplateExpression"&&e.tag.type==="Identifier"&&e.tag.name==="html"&&t==="quasi")}var qee=rH.bind(void 0,"html"),Gee=rH.bind(void 0,"angular");function Zee(s){if(Kee(s))return qee;if(Aee(s))return Gee}var Xee=Zee;async function Yee(s,e,t){let{node:i}=t,n=As(!1,i.quasis[0].value.raw,/((?:\\\\)*)\\`/gu,(l,d)=>"\\".repeat(d.length/2)+"`"),o=Qee(n),r=o!=="";r&&(n=As(!1,n,new RegExp(`^${o}`,"gmu"),""));let a=nH(await s(n,{parser:"markdown",__inJsTemplate:!0}),!0);return["`",r?Le([be,a]):[VW,TJ(a)],be,"`"]}function Qee(s){let e=s.match(/^([^\S\n]*)\S/mu);return e===null?"":e[1]}function Jee(s){if(ete(s))return Yee}function ete({node:s,parent:e}){return(e==null?void 0:e.type)==="TaggedTemplateExpression"&&s.quasis.length===1&&e.tag.type==="Identifier"&&(e.tag.name==="md"||e.tag.name==="markdown")}var tte=Jee;function ite(s){let{node:e}=s;if(e.type!=="TemplateLiteral"||nte(e))return;let t;for(let i of[Hee,jee,Xee,tte])if(t=i(s),!!t)return e.quasis.length===1&&e.quasis[0].value.raw.trim()===""?"``":async(...n)=>{let o=await t(...n);return o&&s1({embed:!0,...o.label},o)}}function nte({quasis:s}){return s.some(({value:{cooked:e}})=>e===null)}var ste=ite,ote=/\*\/$/,rte=/^\/\*\*?/,aH=/^\s*(\/\*\*?(.|\r?\n)*?\*\/)/,ate=/(^|\s+)\/\/([^\n\r]*)/g,T5=/^(\r?\n)+/,lte=/(?:^|\r?\n) *(@[^\n\r]*?) *\r?\n *(?![^\n\r@]*\/\/[^]*)([^\s@][^\n\r@]+?) *\r?\n/g,N5=/(?:^|\r?\n) *@(\S+) *([^\n\r]*)/g,dte=/(\r?\n|^) *\* ?/g,lH=[];function cte(s){let e=s.match(aH);return e?e[0].trimStart():""}function ute(s){let e=s.match(aH),t=e==null?void 0:e[0];return t==null?s:s.slice(t.length)}function hte(s){let e=` `;s=As(!1,s.replace(rte,"").replace(ote,""),dte,"$1");let t="";for(;t!==s;)t=s,s=As(!1,s,lte,`${e}$1 $2${e}`);s=s.replace(T5,"").trimEnd();let i=Object.create(null),n=As(!1,s,N5,"").replace(T5,"").trimEnd(),o;for(;o=N5.exec(s);){let r=As(!1,o[2],ate,"");if(typeof i[o[1]]=="string"||Array.isArray(i[o[1]])){let a=i[o[1]];i[o[1]]=[...lH,...Array.isArray(a)?a:[a],r]}else i[o[1]]=r}return{comments:n,pragmas:i}}function gte({comments:s="",pragmas:e={}}){let t=` `,i="/**",n=" *",o=" */",r=Object.keys(e),a=r.flatMap(d=>A5(d,e[d])).map(d=>`${n} ${d}${t}`).join("");if(!s){if(r.length===0)return"";if(r.length===1&&!Array.isArray(e[r[0]])){let d=e[r[0]];return`${i} ${A5(r[0],d)[0]}${o}`}}let l=s.split(t).map(d=>`${n} ${d}`).join(t)+t;return i+t+(s?l:"")+(s&&r.length>0?n+t:"")+a+o}function A5(s,e){return[...lH,...Array.isArray(e)?e:[e]].map(t=>`@${s} ${t}`.trim())}function fte(s){if(!s.startsWith("#!"))return"";let e=s.indexOf(` `);return e===-1?s:s.slice(0,e)}var pte=fte;function mte(s){let e=pte(s);e&&(s=s.slice(e.length+1));let t=cte(s),{pragmas:i,comments:n}=hte(t);return{shebang:e,text:s,pragmas:i,comments:n}}function _te(s){let{shebang:e,text:t,pragmas:i,comments:n}=mte(s),o=ute(t),r=gte({pragmas:{format:"",...i},comments:n.trimStart()});return(e?`${e} `:"")+r+(o.startsWith(` `)?` `:` `)+o}function vte(s,e){let{originalText:t,[Symbol.for("comments")]:i,locStart:n,locEnd:o,[Symbol.for("printedComments")]:r}=e,{node:a}=s,l=n(a),d=o(a);for(let c of i)n(c)>=l&&o(c)<=d&&r.add(c);return t.slice(l,d)}var bte=vte;function WT(s,e){var t,i,n,o,r,a,l,d,c;if(s.isRoot)return!1;let{node:u,key:h,parent:g}=s;if(e.__isInHtmlInterpolation&&!e.bracketSpacing&&Ste(u)&&cv(s))return!0;if(Cte(u))return!1;if(u.type==="Identifier"){if((t=u.extra)!=null&&t.parenthesized&&/^PRETTIER_HTML_PLACEHOLDER_\d+_\d+_IN_JS$/u.test(u.name)||h==="left"&&(u.name==="async"&&!g.await||u.name==="let")&&g.type==="ForOfStatement")return!0;if(u.name==="let"){let f=(i=s.findAncestor(m=>m.type==="ForOfStatement"))==null?void 0:i.left;if(f&&Co(f,m=>m===u))return!0}if(h==="object"&&u.name==="let"&&g.type==="MemberExpression"&&g.computed&&!g.optional){let f=s.findAncestor(_=>_.type==="ExpressionStatement"||_.type==="ForStatement"||_.type==="ForInStatement"),m=f?f.type==="ExpressionStatement"?f.expression:f.type==="ForStatement"?f.init:f.left:void 0;if(m&&Co(m,_=>_===u))return!0}if(h==="expression")switch(u.name){case"await":case"interface":case"module":case"using":case"yield":case"let":case"component":case"hook":case"type":{let f=s.findAncestor(m=>!Xl(m));if(f!==g&&f.type==="ExpressionStatement")return!0}}return!1}if(u.type==="ObjectExpression"||u.type==="FunctionExpression"||u.type==="ClassExpression"||u.type==="DoExpression"){let f=(n=s.findAncestor(m=>m.type==="ExpressionStatement"))==null?void 0:n.expression;if(f&&Co(f,m=>m===u))return!0}if(u.type==="ObjectExpression"){let f=(o=s.findAncestor(m=>m.type==="ArrowFunctionExpression"))==null?void 0:o.body;if(f&&f.type!=="SequenceExpression"&&f.type!=="AssignmentExpression"&&Co(f,m=>m===u))return!0}switch(g.type){case"ParenthesizedExpression":return!1;case"ClassDeclaration":case"ClassExpression":if(h==="superClass"&&(u.type==="ArrowFunctionExpression"||u.type==="AssignmentExpression"||u.type==="AwaitExpression"||u.type==="BinaryExpression"||u.type==="ConditionalExpression"||u.type==="LogicalExpression"||u.type==="NewExpression"||u.type==="ObjectExpression"||u.type==="SequenceExpression"||u.type==="TaggedTemplateExpression"||u.type==="UnaryExpression"||u.type==="UpdateExpression"||u.type==="YieldExpression"||u.type==="TSNonNullExpression"||u.type==="ClassExpression"&&mi(u.decorators)))return!0;break;case"ExportDefaultDeclaration":return dH(s,e)||u.type==="SequenceExpression";case"Decorator":if(h==="expression"&&!Lte(u))return!0;break;case"TypeAnnotation":if(s.match(void 0,void 0,(f,m)=>m==="returnType"&&f.type==="ArrowFunctionExpression")&&yte(u))return!0;break;case"BinaryExpression":if(h==="left"&&(g.operator==="in"||g.operator==="instanceof")&&u.type==="UnaryExpression")return!0;break;case"VariableDeclarator":if(h==="init"&&s.match(void 0,void 0,(f,m)=>m==="declarations"&&f.type==="VariableDeclaration",(f,m)=>m==="left"&&f.type==="ForInStatement"))return!0;break}switch(u.type){case"UpdateExpression":if(g.type==="UnaryExpression")return u.prefix&&(u.operator==="++"&&g.operator==="+"||u.operator==="--"&&g.operator==="-");case"UnaryExpression":switch(g.type){case"UnaryExpression":return u.operator===g.operator&&(u.operator==="+"||u.operator==="-");case"BindExpression":return!0;case"MemberExpression":case"OptionalMemberExpression":return h==="object";case"TaggedTemplateExpression":return!0;case"NewExpression":case"CallExpression":case"OptionalCallExpression":return h==="callee";case"BinaryExpression":return h==="left"&&g.operator==="**";case"TSNonNullExpression":return!0;default:return!1}case"BinaryExpression":if(g.type==="UpdateExpression"||u.operator==="in"&&wte(s))return!0;if(u.operator==="|>"&&(r=u.extra)!=null&&r.parenthesized){let f=s.grandparent;if(f.type==="BinaryExpression"&&f.operator==="|>")return!0}case"TSTypeAssertion":case"TSAsExpression":case"TSSatisfiesExpression":case"AsExpression":case"AsConstExpression":case"SatisfiesExpression":case"LogicalExpression":switch(g.type){case"TSAsExpression":case"TSSatisfiesExpression":case"AsExpression":case"AsConstExpression":case"SatisfiesExpression":return!Xl(u);case"ConditionalExpression":return Xl(u)||QQ(u);case"CallExpression":case"NewExpression":case"OptionalCallExpression":return h==="callee";case"ClassExpression":case"ClassDeclaration":return h==="superClass";case"TSTypeAssertion":case"TaggedTemplateExpression":case"UnaryExpression":case"JSXSpreadAttribute":case"SpreadElement":case"BindExpression":case"AwaitExpression":case"TSNonNullExpression":case"UpdateExpression":return!0;case"MemberExpression":case"OptionalMemberExpression":return h==="object";case"AssignmentExpression":case"AssignmentPattern":return h==="left"&&(u.type==="TSTypeAssertion"||Xl(u));case"LogicalExpression":if(u.type==="LogicalExpression")return g.operator!==u.operator;case"BinaryExpression":{let{operator:f,type:m}=u;if(!f&&m!=="TSTypeAssertion")return!0;let _=wS(f),v=g.operator,b=wS(v);return b>_||h==="right"&&b===_||b===_&&!bP(v,f)?!0:b<_&&f==="%"?v==="+"||v==="-":!!uJ(v)}default:return!1}case"SequenceExpression":switch(g.type){case"ReturnStatement":return!1;case"ForStatement":return!1;case"ExpressionStatement":return h!=="expression";case"ArrowFunctionExpression":return h!=="body";default:return!0}case"YieldExpression":if(g.type==="AwaitExpression"||g.type==="TSTypeAssertion")return!0;case"AwaitExpression":switch(g.type){case"TaggedTemplateExpression":case"UnaryExpression":case"LogicalExpression":case"SpreadElement":case"TSAsExpression":case"TSSatisfiesExpression":case"TSNonNullExpression":case"AsExpression":case"AsConstExpression":case"SatisfiesExpression":case"BindExpression":return!0;case"MemberExpression":case"OptionalMemberExpression":return h==="object";case"NewExpression":case"CallExpression":case"OptionalCallExpression":return h==="callee";case"ConditionalExpression":return h==="test";case"BinaryExpression":return!(!u.argument&&g.operator==="|>");default:return!1}case"TSFunctionType":if(s.match(f=>f.type==="TSFunctionType",(f,m)=>m==="typeAnnotation"&&f.type==="TSTypeAnnotation",(f,m)=>m==="returnType"&&f.type==="ArrowFunctionExpression"))return!0;case"TSConditionalType":case"TSConstructorType":case"ConditionalTypeAnnotation":if(h==="extendsType"&&Ch(u)&&g.type===u.type||h==="checkType"&&Ch(g))return!0;if(h==="extendsType"&&g.type==="TSConditionalType"){let{typeAnnotation:f}=u.returnType||u.typeAnnotation;if(f.type==="TSTypePredicate"&&f.typeAnnotation&&(f=f.typeAnnotation.typeAnnotation),f.type==="TSInferType"&&f.typeParameter.constraint)return!0}case"TSUnionType":case"TSIntersectionType":if((bh(g)||CP(g))&&g.types.length>1&&(!u.types||u.types.length>1))return!0;case"TSInferType":if(u.type==="TSInferType"){if(g.type==="TSRestType")return!1;if(h==="types"&&(g.type==="TSUnionType"||g.type==="TSIntersectionType")&&u.typeParameter.type==="TSTypeParameter"&&u.typeParameter.constraint)return!0}case"TSTypeOperator":return g.type==="TSArrayType"||g.type==="TSOptionalType"||g.type==="TSRestType"||h==="objectType"&&g.type==="TSIndexedAccessType"||g.type==="TSTypeOperator"||g.type==="TSTypeAnnotation"&&s.grandparent.type.startsWith("TSJSDoc");case"TSTypeQuery":return h==="objectType"&&g.type==="TSIndexedAccessType"||h==="elementType"&&g.type==="TSArrayType";case"TypeOperator":return g.type==="ArrayTypeAnnotation"||g.type==="NullableTypeAnnotation"||h==="objectType"&&(g.type==="IndexedAccessType"||g.type==="OptionalIndexedAccessType")||g.type==="TypeOperator";case"TypeofTypeAnnotation":return h==="objectType"&&(g.type==="IndexedAccessType"||g.type==="OptionalIndexedAccessType")||h==="elementType"&&g.type==="ArrayTypeAnnotation";case"ArrayTypeAnnotation":return g.type==="NullableTypeAnnotation";case"IntersectionTypeAnnotation":case"UnionTypeAnnotation":return g.type==="TypeOperator"||g.type==="ArrayTypeAnnotation"||g.type==="NullableTypeAnnotation"||g.type==="IntersectionTypeAnnotation"||g.type==="UnionTypeAnnotation"||h==="objectType"&&(g.type==="IndexedAccessType"||g.type==="OptionalIndexedAccessType");case"InferTypeAnnotation":case"NullableTypeAnnotation":return g.type==="ArrayTypeAnnotation"||h==="objectType"&&(g.type==="IndexedAccessType"||g.type==="OptionalIndexedAccessType");case"ComponentTypeAnnotation":case"FunctionTypeAnnotation":{if(u.type==="ComponentTypeAnnotation"&&(u.rendersType===null||u.rendersType===void 0))return!1;if(s.match(void 0,(m,_)=>_==="typeAnnotation"&&m.type==="TypeAnnotation",(m,_)=>_==="returnType"&&m.type==="ArrowFunctionExpression")||s.match(void 0,(m,_)=>_==="typeAnnotation"&&m.type==="TypePredicate",(m,_)=>_==="typeAnnotation"&&m.type==="TypeAnnotation",(m,_)=>_==="returnType"&&m.type==="ArrowFunctionExpression"))return!0;let f=g.type==="NullableTypeAnnotation"?s.grandparent:g;return f.type==="UnionTypeAnnotation"||f.type==="IntersectionTypeAnnotation"||f.type==="ArrayTypeAnnotation"||h==="objectType"&&(f.type==="IndexedAccessType"||f.type==="OptionalIndexedAccessType")||h==="checkType"&&g.type==="ConditionalTypeAnnotation"||h==="extendsType"&&g.type==="ConditionalTypeAnnotation"&&((a=u.returnType)==null?void 0:a.type)==="InferTypeAnnotation"&&((l=u.returnType)==null?void 0:l.typeParameter.bound)||f.type==="NullableTypeAnnotation"||g.type==="FunctionTypeParam"&&g.name===null&&uo(u).some(m=>{var _;return((_=m.typeAnnotation)==null?void 0:_.type)==="NullableTypeAnnotation"})}case"OptionalIndexedAccessType":return h==="objectType"&&g.type==="IndexedAccessType";case"StringLiteral":case"NumericLiteral":case"Literal":if(typeof u.value=="string"&&g.type==="ExpressionStatement"&&!g.directive){let f=s.grandparent;return f.type==="Program"||f.type==="BlockStatement"}return h==="object"&&g.type==="MemberExpression"&&typeof u.value=="number";case"AssignmentExpression":{let f=s.grandparent;return h==="body"&&g.type==="ArrowFunctionExpression"?!0:h==="key"&&(g.type==="ClassProperty"||g.type==="PropertyDefinition")&&g.computed||(h==="init"||h==="update")&&g.type==="ForStatement"?!1:g.type==="ExpressionStatement"?u.left.type==="ObjectPattern":!(h==="key"&&g.type==="TSPropertySignature"||g.type==="AssignmentExpression"||g.type==="SequenceExpression"&&f.type==="ForStatement"&&(f.init===g||f.update===g)||h==="value"&&g.type==="Property"&&f.type==="ObjectPattern"&&f.properties.includes(g)||g.type==="NGChainedExpression"||h==="node"&&g.type==="JsExpressionRoot")}case"ConditionalExpression":switch(g.type){case"TaggedTemplateExpression":case"UnaryExpression":case"SpreadElement":case"BinaryExpression":case"LogicalExpression":case"NGPipeExpression":case"ExportDefaultDeclaration":case"AwaitExpression":case"JSXSpreadAttribute":case"TSTypeAssertion":case"TypeCastExpression":case"TSAsExpression":case"TSSatisfiesExpression":case"AsExpression":case"AsConstExpression":case"SatisfiesExpression":case"TSNonNullExpression":return!0;case"NewExpression":case"CallExpression":case"OptionalCallExpression":return h==="callee";case"ConditionalExpression":return e.experimentalTernaries?!1:h==="test";case"MemberExpression":case"OptionalMemberExpression":return h==="object";default:return!1}case"FunctionExpression":switch(g.type){case"NewExpression":case"CallExpression":case"OptionalCallExpression":return h==="callee";case"TaggedTemplateExpression":return!0;default:return!1}case"ArrowFunctionExpression":switch(g.type){case"BinaryExpression":return g.operator!=="|>"||((d=u.extra)==null?void 0:d.parenthesized);case"NewExpression":case"CallExpression":case"OptionalCallExpression":return h==="callee";case"MemberExpression":case"OptionalMemberExpression":return h==="object";case"TSAsExpression":case"TSSatisfiesExpression":case"AsExpression":case"AsConstExpression":case"SatisfiesExpression":case"TSNonNullExpression":case"BindExpression":case"TaggedTemplateExpression":case"UnaryExpression":case"LogicalExpression":case"AwaitExpression":case"TSTypeAssertion":return!0;case"ConditionalExpression":return h==="test";default:return!1}case"ClassExpression":switch(g.type){case"NewExpression":return h==="callee";default:return!1}case"OptionalMemberExpression":case"OptionalCallExpression":case"CallExpression":case"MemberExpression":if(Dte(s))return!0;case"TaggedTemplateExpression":case"TSNonNullExpression":if(h==="callee"&&(g.type==="BindExpression"||g.type==="NewExpression")){let f=u;for(;f;)switch(f.type){case"CallExpression":case"OptionalCallExpression":return!0;case"MemberExpression":case"OptionalMemberExpression":case"BindExpression":f=f.object;break;case"TaggedTemplateExpression":f=f.tag;break;case"TSNonNullExpression":f=f.expression;break;default:return!1}}return!1;case"BindExpression":return h==="callee"&&(g.type==="BindExpression"||g.type==="NewExpression")||h==="object"&&Rn(g);case"NGPipeExpression":return!(g.type==="NGRoot"||g.type==="NGMicrosyntaxExpression"||g.type==="ObjectProperty"&&!((c=u.extra)!=null&&c.parenthesized)||zs(g)||h==="arguments"&&ui(g)||h==="right"&&g.type==="NGPipeExpression"||h==="property"&&g.type==="MemberExpression"||g.type==="AssignmentExpression");case"JSXFragment":case"JSXElement":return h==="callee"||h==="left"&&g.type==="BinaryExpression"&&g.operator==="<"||!zs(g)&&g.type!=="ArrowFunctionExpression"&&g.type!=="AssignmentExpression"&&g.type!=="AssignmentPattern"&&g.type!=="BinaryExpression"&&g.type!=="NewExpression"&&g.type!=="ConditionalExpression"&&g.type!=="ExpressionStatement"&&g.type!=="JsExpressionRoot"&&g.type!=="JSXAttribute"&&g.type!=="JSXElement"&&g.type!=="JSXExpressionContainer"&&g.type!=="JSXFragment"&&g.type!=="LogicalExpression"&&!ui(g)&&!Qc(g)&&g.type!=="ReturnStatement"&&g.type!=="ThrowStatement"&&g.type!=="TypeCastExpression"&&g.type!=="VariableDeclarator"&&g.type!=="YieldExpression";case"TSInstantiationExpression":return h==="object"&&Rn(g)}return!1}var Cte=wi(["BlockStatement","BreakStatement","ComponentDeclaration","ClassBody","ClassDeclaration","ClassMethod","ClassProperty","PropertyDefinition","ClassPrivateProperty","ContinueStatement","DebuggerStatement","DeclareComponent","DeclareClass","DeclareExportAllDeclaration","DeclareExportDeclaration","DeclareFunction","DeclareHook","DeclareInterface","DeclareModule","DeclareModuleExports","DeclareNamespace","DeclareVariable","DeclareEnum","DoWhileStatement","EnumDeclaration","ExportAllDeclaration","ExportDefaultDeclaration","ExportNamedDeclaration","ExpressionStatement","ForInStatement","ForOfStatement","ForStatement","FunctionDeclaration","HookDeclaration","IfStatement","ImportDeclaration","InterfaceDeclaration","LabeledStatement","MethodDefinition","ReturnStatement","SwitchStatement","ThrowStatement","TryStatement","TSDeclareFunction","TSEnumDeclaration","TSImportEqualsDeclaration","TSInterfaceDeclaration","TSModuleDeclaration","TSNamespaceExportDeclaration","TypeAlias","VariableDeclaration","WhileStatement","WithStatement"]);function wte(s){let e=0,{node:t}=s;for(;t;){let i=s.getParentNode(e++);if((i==null?void 0:i.type)==="ForStatement"&&i.init===t)return!0;t=i}return!1}function yte(s){return TT(s,e=>e.type==="ObjectTypeAnnotation"&&TT(e,t=>t.type==="FunctionTypeAnnotation"))}function Ste(s){return il(s)}function cv(s){let{parent:e,key:t}=s;switch(e.type){case"NGPipeExpression":if(t==="arguments"&&s.isLast)return s.callParent(cv);break;case"ObjectProperty":if(t==="value")return s.callParent(()=>s.key==="properties"&&s.isLast);break;case"BinaryExpression":case"LogicalExpression":if(t==="right")return s.callParent(cv);break;case"ConditionalExpression":if(t==="alternate")return s.callParent(cv);break;case"UnaryExpression":if(e.prefix)return s.callParent(cv);break}return!1}function dH(s,e){let{node:t,parent:i}=s;return t.type==="FunctionExpression"||t.type==="ClassExpression"?i.type==="ExportDefaultDeclaration"||!WT(s,e):!pP(t)||i.type!=="ExportDefaultDeclaration"&&WT(s,e)?!1:s.call(()=>dH(s,e),...LW(t))}function Dte(s){return!!(s.match(void 0,(e,t)=>t==="expression"&&e.type==="ChainExpression",(e,t)=>t==="tag"&&e.type==="TaggedTemplateExpression")||s.match(e=>e.type==="OptionalCallExpression"||e.type==="OptionalMemberExpression",(e,t)=>t==="tag"&&e.type==="TaggedTemplateExpression")||s.match(e=>e.type==="OptionalCallExpression"||e.type==="OptionalMemberExpression",(e,t)=>t==="expression"&&e.type==="TSNonNullExpression",(e,t)=>t==="tag"&&e.type==="TaggedTemplateExpression")||s.match(void 0,(e,t)=>t==="expression"&&e.type==="ChainExpression",(e,t)=>t==="expression"&&e.type==="TSNonNullExpression",(e,t)=>t==="tag"&&e.type==="TaggedTemplateExpression")||s.match(void 0,(e,t)=>t==="expression"&&e.type==="TSNonNullExpression",(e,t)=>t==="expression"&&e.type==="ChainExpression",(e,t)=>t==="tag"&&e.type==="TaggedTemplateExpression")||s.match(e=>e.type==="OptionalMemberExpression"||e.type==="OptionalCallExpression",(e,t)=>t==="object"&&e.type==="MemberExpression"||t==="callee"&&(e.type==="CallExpression"||e.type==="NewExpression"))||s.match(e=>e.type==="OptionalMemberExpression"||e.type==="OptionalCallExpression",(e,t)=>t==="expression"&&e.type==="TSNonNullExpression",(e,t)=>t==="object"&&e.type==="MemberExpression"||t==="callee"&&e.type==="CallExpression")||s.match(e=>e.type==="CallExpression"||e.type==="MemberExpression",(e,t)=>t==="expression"&&e.type==="ChainExpression")&&(s.match(void 0,void 0,(e,t)=>t==="callee"&&(e.type==="CallExpression"&&!e.optional||e.type==="NewExpression")||t==="object"&&e.type==="MemberExpression"&&!e.optional)||s.match(void 0,void 0,(e,t)=>t==="expression"&&e.type==="TSNonNullExpression",(e,t)=>t==="object"&&e.type==="MemberExpression"||t==="callee"&&e.type==="CallExpression"))||s.match(e=>e.type==="CallExpression"||e.type==="MemberExpression",(e,t)=>t==="expression"&&e.type==="TSNonNullExpression",(e,t)=>t==="expression"&&e.type==="ChainExpression",(e,t)=>t==="object"&&e.type==="MemberExpression"||t==="callee"&&e.type==="CallExpression"))}function HT(s){return s.type==="Identifier"?!0:Rn(s)?!s.computed&&!s.optional&&s.property.type==="Identifier"&&HT(s.object):!1}function Lte(s){return s.type==="ChainExpression"&&(s=s.expression),HT(s)||ui(s)&&!s.optional&&HT(s.callee)}var ip=WT;function xte(s,e){let t=e-1;t=Jm(s,t,{backwards:!0}),t=e_(s,t,{backwards:!0}),t=Jm(s,t,{backwards:!0});let i=e_(s,t,{backwards:!0});return t!==i}var kte=xte,Ete=()=>!0;function IP(s,e){let t=s.node;return t.printed=!0,e.printer.printComment(s,e)}function Ite(s,e){var t;let i=s.node,n=[IP(s,e)],{printer:o,originalText:r,locStart:a,locEnd:l}=e;if((t=o.isBlockComment)!=null&&t.call(o,i)){let c=Ar(r,l(i))?Ar(r,a(i),{backwards:!0})?Se:Ue:" ";n.push(c)}else n.push(Se);let d=e_(r,Jm(r,l(i)));return d!==!1&&Ar(r,d)&&n.push(Se),n}function Tte(s,e,t){var i;let n=s.node,o=IP(s,e),{printer:r,originalText:a,locStart:l}=e,d=(i=r.isBlockComment)==null?void 0:i.call(r,n);if(t!=null&&t.hasLineSuffix&&!(t!=null&&t.isBlock)||Ar(a,l(n),{backwards:!0})){let c=kte(a,l(n));return{doc:E5([Se,c?Se:"",o]),isBlock:d,hasLineSuffix:!0}}return!d||t!=null&&t.hasLineSuffix?{doc:[E5([" ",o]),fd],isBlock:d,hasLineSuffix:!0}:{doc:[" ",o],isBlock:d,hasLineSuffix:!1}}function gn(s,e,t={}){let{node:i}=s;if(!mi(i==null?void 0:i.comments))return"";let{indent:n=!1,marker:o,filter:r=Ete}=t,a=[];if(s.each(({node:d})=>{d.leading||d.trailing||d.marker!==o||!r(d)||a.push(IP(s,e))},"comments"),a.length===0)return"";let l=si(Se,a);return n?Le([Se,l]):l}function cH(s,e){let t=s.node;if(!t)return{};let i=e[Symbol.for("printedComments")];if((t.comments||[]).filter(a=>!i.has(a)).length===0)return{leading:"",trailing:""};let n=[],o=[],r;return s.each(()=>{let a=s.node;if(i!=null&&i.has(a))return;let{leading:l,trailing:d}=a;l?n.push(Ite(s,e)):d&&(r=Tte(s,e,r),o.push(r.doc))},"comments"),{leading:n,trailing:o}}function Xa(s,e,t){let{leading:i,trailing:n}=cH(s,t);return!i&&!n?e:MT(e,o=>[i,o,n])}var Nte=class extends Error{constructor(e,t,i="type"){super(`Unexpected ${t} node ${i}: ${JSON.stringify(e[i])}.`);Q1(this,"name","UnexpectedNodeError");this.node=e}},t0=Nte;function Ate(s){if(typeof s!="string")throw new TypeError("Expected a string");return s.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")}var Ia,Mte=class{constructor(s){lQ(this,Ia),dQ(this,Ia,new Set(s))}getLeadingWhitespaceCount(s){let e=uu(this,Ia),t=0;for(let i=0;i =0&&e.has(s.charAt(i));i--)t++;return t}getLeadingWhitespace(s){let e=this.getLeadingWhitespaceCount(s);return s.slice(0,e)}getTrailingWhitespace(s){let e=this.getTrailingWhitespaceCount(s);return s.slice(s.length-e)}hasLeadingWhitespace(s){return uu(this,Ia).has(s.charAt(0))}hasTrailingWhitespace(s){return uu(this,Ia).has(Si(!1,s,-1))}trimStart(s){let e=this.getLeadingWhitespaceCount(s);return s.slice(e)}trimEnd(s){let e=this.getTrailingWhitespaceCount(s);return s.slice(0,s.length-e)}trim(s){return this.trimEnd(this.trimStart(s))}split(s,e=!1){let t=`[${Ate([...uu(this,Ia)].join(""))}]+`,i=new RegExp(e?`(${t})`:t,"u");return s.split(i)}hasWhitespaceCharacter(s){let e=uu(this,Ia);return Array.prototype.some.call(s,t=>e.has(t))}hasNonWhitespaceCharacter(s){let e=uu(this,Ia);return Array.prototype.some.call(s,t=>!e.has(t))}isWhitespaceOnly(s){let e=uu(this,Ia);return Array.prototype.every.call(s,t=>e.has(t))}};Ia=new WeakMap;var Rte=Mte,Ny=new Rte(` \r `),yE=s=>s===""||s===Ue||s===Se||s===be;function Pte(s,e,t){var i,n,o,r,a;let{node:l}=s;if(l.type==="JSXElement"&&Xte(l))return[t("openingElement"),t("closingElement")];let d=l.type==="JSXElement"?t("openingElement"):t("openingFragment"),c=l.type==="JSXElement"?t("closingElement"):t("closingFragment");if(l.children.length===1&&l.children[0].type==="JSXExpressionContainer"&&(l.children[0].expression.type==="TemplateLiteral"||l.children[0].expression.type==="TaggedTemplateExpression"))return[d,...s.map(t,"children"),c];l.children=l.children.map(k=>Yte(k)?{type:"JSXText",value:" ",raw:" "}:k);let u=l.children.some(bs),h=l.children.filter(k=>k.type==="JSXExpressionContainer").length>1,g=l.type==="JSXElement"&&l.openingElement.attributes.length>1,f=So(d)||u||g||h,m=s.parent.rootMarker==="mdx",_=e.singleQuote?"{' '}":'{" "}',v=m?Ue:Rt([_,be]," "),b=((n=(i=l.openingElement)==null?void 0:i.name)==null?void 0:n.name)==="fbt",C=Fte(s,e,t,v,b),w=l.children.some(k=>Db(k));for(let k=C.length-2;k>=0;k--){let I=C[k]===""&&C[k+1]==="",O=C[k]===Se&&C[k+1]===""&&C[k+2]===Se,R=(C[k]===be||C[k]===Se)&&C[k+1]===""&&C[k+2]===v,P=C[k]===v&&C[k+1]===""&&(C[k+2]===be||C[k+2]===Se),F=C[k]===v&&C[k+1]===""&&C[k+2]===v,V=C[k]===be&&C[k+1]===""&&C[k+2]===Se||C[k]===Se&&C[k+1]===""&&C[k+2]===be;O&&w||I||R||F||V?C.splice(k,2):P&&C.splice(k+1,2)}for(;C.length>0&&yE(Si(!1,C,-1));)C.pop();for(;C.length>1&&yE(C[0])&&yE(C[1]);)C.shift(),C.shift();let y=[""];for(let[k,I]of C.entries()){if(I===v){if(k===1&&kJ(C[k-1])){if(C.length===2){y.push([y.pop(),_]);continue}y.push([_,Se],"");continue}else if(k===C.length-1){y.push([y.pop(),_]);continue}else if(C[k-1]===""&&C[k-2]===Se){y.push([y.pop(),_]);continue}}k%2===0?y.push([y.pop(),I]):y.push(I,""),So(I)&&(f=!0)}let D=w?WW(y):re(y,{shouldBreak:!0});if(((o=e.cursorNode)==null?void 0:o.type)==="JSXText"&&l.children.includes(e.cursorNode)?D=[sw,D,sw]:((r=e.nodeBeforeCursor)==null?void 0:r.type)==="JSXText"&&l.children.includes(e.nodeBeforeCursor)?D=[sw,D]:((a=e.nodeAfterCursor)==null?void 0:a.type)==="JSXText"&&l.children.includes(e.nodeAfterCursor)&&(D=[D,sw]),m)return D;let L=re([d,Le([Se,D]),Se,c]);return f?L:qg([re([d,...C,c]),L])}function Fte(s,e,t,i,n){let o="",r=[o];function a(d){o=d,r.push([r.pop(),d])}function l(d){d!==""&&(o=d,r.push(d,""))}return s.each(({node:d,next:c})=>{if(d.type==="JSXText"){let u=fa(d);if(Db(d)){let h=Ny.split(u,!0);h[0]===""&&(h.shift(),/\n/u.test(h[0])?l(R5(n,h[1],d,c)):l(i),h.shift());let g;if(Si(!1,h,-1)===""&&(h.pop(),g=h.pop()),h.length===0)return;for(let[f,m]of h.entries())f%2===1?l(Ue):a(m);g!==void 0?/\n/u.test(g)?l(R5(n,o,d,c)):l(i):l(M5(n,o,d,c))}else/\n/u.test(u)?u.match(/\n/gu).length>1&&l(Se):l(i)}else{let u=t();if(a(u),c&&Db(c)){let h=Ny.trim(fa(c)),[g]=Ny.split(h);l(M5(n,g,d,c))}else l(Se)}},"children"),r}function M5(s,e,t,i){return s?"":t.type==="JSXElement"&&!t.closingElement||(i==null?void 0:i.type)==="JSXElement"&&!i.closingElement?e.length===1?be:Se:be}function R5(s,e,t,i){return s?Se:e.length===1?t.type==="JSXElement"&&!t.closingElement||(i==null?void 0:i.type)==="JSXElement"&&!i.closingElement?Se:be:Se}var Ote=new Set(["ArrayExpression","TupleExpression","JSXAttribute","JSXElement","JSXExpressionContainer","JSXFragment","ExpressionStatement","CallExpression","OptionalCallExpression","ConditionalExpression","JsExpressionRoot"]);function Bte(s,e,t){let{parent:i}=s;if(Ote.has(i.type))return e;let n=s.match(void 0,r=>r.type==="ArrowFunctionExpression",ui,r=>r.type==="JSXExpressionContainer"),o=ip(s,t);return re([o?"":Rt("("),Le([be,e]),be,o?"":Rt(")")],{shouldBreak:n})}function Wte(s,e,t){let{node:i}=s,n=[];if(n.push(t("name")),i.value){let o;if(sr(i.value)){let r=fa(i.value),a=As(!1,As(!1,r.slice(1,-1),"'","'"),""",'"'),l=CW(a,e.jsxSingleQuote);a=l==='"'?As(!1,a,'"',"""):As(!1,a,"'","'"),o=s.call(()=>Xa(s,_f(l+a+l),e),"value")}else o=t("value");n.push("=",o)}return n}function Hte(s,e,t){let{node:i}=s,n=(o,r)=>o.type==="JSXEmptyExpression"||!Re(o)&&(zs(o)||il(o)||o.type==="ArrowFunctionExpression"||o.type==="AwaitExpression"&&(n(o.argument,o)||o.argument.type==="JSXElement")||ui(o)||o.type==="ChainExpression"&&ui(o.expression)||o.type==="FunctionExpression"||o.type==="TemplateLiteral"||o.type==="TaggedTemplateExpression"||o.type==="DoExpression"||bs(r)&&(o.type==="ConditionalExpression"||Fc(o)));return n(i.expression,s.parent)?re(["{",t("expression"),Bc,"}"]):re(["{",Le([be,t("expression")]),be,Bc,"}"])}function Vte(s,e,t){var i,n;let{node:o}=s,r=Re(o.name)||Re(o.typeParameters)||Re(o.typeArguments);if(o.selfClosing&&o.attributes.length===0&&!r)return["<",t("name"),o.typeArguments?t("typeArguments"):t("typeParameters")," />"];if(((i=o.attributes)==null?void 0:i.length)===1&&sr(o.attributes[0].value)&&!o.attributes[0].value.value.includes(` `)&&!r&&!Re(o.attributes[0]))return re(["<",t("name"),o.typeArguments?t("typeArguments"):t("typeParameters")," ",...s.map(t,"attributes"),o.selfClosing?" />":">"]);let a=(n=o.attributes)==null?void 0:n.some(d=>sr(d.value)&&d.value.value.includes(` `)),l=e.singleAttributePerLine&&o.attributes.length>1?Se:Ue;return re(["<",t("name"),o.typeArguments?t("typeArguments"):t("typeParameters"),Le(s.map(()=>[l,t()],"attributes")),...zte(o,e,r)],{shouldBreak:a})}function zte(s,e,t){return s.selfClosing?[Ue,"/>"]:Ute(s,e,t)?[">"]:[be,">"]}function Ute(s,e,t){let i=s.attributes.length>0&&Re(Si(!1,s.attributes,-1),Ze.Trailing);return s.attributes.length===0&&!t||(e.bracketSameLine||e.jsxBracketSameLine)&&(!t||s.attributes.length>0)&&!i}function $te(s,e,t){let{node:i}=s,n=[];n.push("");let o=t("name");return Re(i.name,Ze.Leading|Ze.Line)?n.push(Le([Se,o]),Se):Re(i.name,Ze.Leading|Ze.Block)?n.push(" ",o):n.push(o),n.push(">"),n}function jte(s,e){let{node:t}=s,i=Re(t),n=Re(t,Ze.Line),o=t.type==="JSXOpeningFragment";return[o?"<":"",Le([n?Se:i&&!o?" ":"",gn(s,e)]),n?Se:"",">"]}function Kte(s,e,t){let i=Xa(s,Pte(s,e,t),e);return Bte(s,i,e)}function qte(s,e){let{node:t}=s,i=Re(t,Ze.Line);return[gn(s,e,{indent:i}),i?Se:""]}function Gte(s,e,t){let{node:i}=s;return["{",s.call(({node:n})=>{let o=["...",t()];return!Re(n)||!JW(s)?o:[Le([be,Xa(s,o,e)]),be]},i.type==="JSXSpreadAttribute"?"argument":"expression"),"}"]}function Zte(s,e,t){let{node:i}=s;if(i.type.startsWith("JSX"))switch(i.type){case"JSXAttribute":return Wte(s,e,t);case"JSXIdentifier":return i.name;case"JSXNamespacedName":return si(":",[t("namespace"),t("name")]);case"JSXMemberExpression":return si(".",[t("object"),t("property")]);case"JSXSpreadAttribute":case"JSXSpreadChild":return Gte(s,e,t);case"JSXExpressionContainer":return Hte(s,e,t);case"JSXFragment":case"JSXElement":return Kte(s,e,t);case"JSXOpeningElement":return Vte(s,e,t);case"JSXClosingElement":return $te(s,e,t);case"JSXOpeningFragment":case"JSXClosingFragment":return jte(s,e);case"JSXEmptyExpression":return qte(s,e);case"JSXText":throw new Error("JSXText should be handled by JSXElement");default:throw new t0(i,"JSX")}}function Xte(s){if(s.children.length===0)return!0;if(s.children.length>1)return!1;let e=s.children[0];return e.type==="JSXText"&&!Db(e)}function Db(s){return s.type==="JSXText"&&(Ny.hasNonWhitespaceCharacter(fa(s))||!/\n/u.test(fa(s)))}function Yte(s){return s.type==="JSXExpressionContainer"&&sr(s.expression)&&s.expression.value===" "&&!Re(s.expression)}function Qte(s){let{node:e,parent:t}=s;if(!bs(e)||!bs(t))return!1;let{index:i,siblings:n}=s,o;for(let r=i;r>0;r--){let a=n[r-1];if(!(a.type==="JSXText"&&!Db(a))){o=a;break}}return(o==null?void 0:o.type)==="JSXExpressionContainer"&&o.expression.type==="JSXEmptyExpression"&&OL(o.expression)}function Jte(s){return OL(s.node)||Qte(s)}var uH=Jte,eie=0;function hH(s,e,t){var i;let{node:n,parent:o,grandparent:r,key:a}=s,l=a!=="body"&&(o.type==="IfStatement"||o.type==="WhileStatement"||o.type==="SwitchStatement"||o.type==="DoWhileStatement"),d=n.operator==="|>"&&((i=s.root.extra)==null?void 0:i.__isUsingHackPipeline),c=VT(s,t,e,!1,l);if(l)return c;if(d)return re(c);if(ui(o)&&o.callee===n||o.type==="UnaryExpression"||Rn(o)&&!o.computed)return re([Le([be,...c]),be]);let u=o.type==="ReturnStatement"||o.type==="ThrowStatement"||o.type==="JSXExpressionContainer"&&r.type==="JSXAttribute"||n.operator!=="|"&&o.type==="JsExpressionRoot"||n.type!=="NGPipeExpression"&&(o.type==="NGRoot"&&e.parser==="__ng_binding"||o.type==="NGMicrosyntaxExpression"&&r.type==="NGMicrosyntax"&&r.body.length===1)||n===o.body&&o.type==="ArrowFunctionExpression"||n!==o.body&&o.type==="ForStatement"||o.type==="ConditionalExpression"&&r.type!=="ReturnStatement"&&r.type!=="ThrowStatement"&&!ui(r)||o.type==="TemplateLiteral",h=o.type==="AssignmentExpression"||o.type==="VariableDeclarator"||o.type==="ClassProperty"||o.type==="PropertyDefinition"||o.type==="TSAbstractPropertyDefinition"||o.type==="ClassPrivateProperty"||Qc(o),g=Fc(n.left)&&bP(n.operator,n.left.operator);if(u||Lb(n)&&!g||!Lb(n)&&h)return re(c);if(c.length===0)return"";let f=bs(n.right),m=c.findIndex(y=>typeof y!="string"&&!Array.isArray(y)&&y.type===pa),_=c.slice(0,m===-1?1:m+1),v=c.slice(_.length,f?-1:void 0),b=Symbol("logicalChain-"+ ++eie),C=re([..._,Le(v)],{id:b});if(!f)return C;let w=Si(!1,c,-1);return re([C,BL(w,{groupId:b})])}function VT(s,e,t,i,n){var o;let{node:r}=s;if(!Fc(r))return[re(e())];let a=[];bP(r.operator,r.left.operator)?a=s.call(_=>VT(_,e,t,!0,n),"left"):a.push(re(e("left")));let l=Lb(r),d=(r.operator==="|>"||r.type==="NGPipeExpression"||tie(s,t))&&!vh(t.originalText,r.right),c=!Re(r.right,Ze.Leading,UW)&&vh(t.originalText,r.right),u=r.type==="NGPipeExpression"?"|":r.operator,h=r.type==="NGPipeExpression"&&r.arguments.length>0?re(Le([be,": ",si([Ue,": "],s.map(()=>gd(2,re(e())),"arguments"))])):"",g;if(l)g=[u," ",e("right"),h];else{let _=u==="|>"&&((o=s.root.extra)!=null&&o.__isUsingHackPipeline)?s.call(v=>VT(v,e,t,!0,n),"right"):e("right");if(t.experimentalOperatorPosition==="start"){let v="";if(c)switch(Qh(_)){case Oc:v=_.splice(0,1)[0];break;case Jc:v=_.contents.splice(0,1)[0];break}g=[Ue,v,u," ",_,h]}else g=[d?Ue:"",u,d?" ":Ue,_,h]}let{parent:f}=s,m=Re(r.left,Ze.Trailing|Ze.Line);if((m||!(n&&r.type==="LogicalExpression")&&f.type!==r.type&&r.left.type!==r.type&&r.right.type!==r.type)&&(g=re(g,{shouldBreak:m})),t.experimentalOperatorPosition==="start"?a.push(l||c?" ":"",g):a.push(d?"":" ",g),i&&Re(r)){let _=yP(Xa(s,a,t));return _.type===Xh?_.parts:Array.isArray(_)?_:[_]}return a}function Lb(s){return s.type!=="LogicalExpression"?!1:!!(il(s.right)&&s.right.properties.length>0||zs(s.right)&&s.right.elements.length>0||bs(s.right))}var P5=s=>s.type==="BinaryExpression"&&s.operator==="|";function tie(s,e){return(e.parser==="__vue_expression"||e.parser==="__vue_ts_expression")&&P5(s.node)&&!s.hasAncestor(t=>!P5(t)&&t.type!=="JsExpressionRoot")}function iie(s,e,t){let{node:i}=s;if(i.type.startsWith("NG"))switch(i.type){case"NGRoot":return[t("node"),Re(i.node)?" //"+Dm(i.node)[0].value.trimEnd():""];case"NGPipeExpression":return hH(s,e,t);case"NGChainedExpression":return re(si([";",Ue],s.map(()=>sie(s)?t():["(",t(),")"],"expressions")));case"NGEmptyExpression":return"";case"NGMicrosyntax":return s.map(()=>[s.isFirst?"":F5(s)?" ":[";",Ue],t()],"body");case"NGMicrosyntaxKey":return/^[$_a-z][\w$]*(?:-[$_a-z][\w$])*$/iu.test(i.name)?i.name:JSON.stringify(i.name);case"NGMicrosyntaxExpression":return[t("expression"),i.alias===null?"":[" as ",t("alias")]];case"NGMicrosyntaxKeyedExpression":{let{index:n,parent:o}=s,r=F5(s)||(n===1&&(i.key.name==="then"||i.key.name==="else"||i.key.name==="as")||(n===2||n===3)&&(i.key.name==="else"&&o.body[n-1].type==="NGMicrosyntaxKeyedExpression"&&o.body[n-1].key.name==="then"||i.key.name==="track"))&&o.body[0].type==="NGMicrosyntaxExpression";return[t("key"),r?" ":": ",t("expression")]}case"NGMicrosyntaxLet":return["let ",t("key"),i.value===null?"":[" = ",t("value")]];case"NGMicrosyntaxAs":return[t("key")," as ",t("alias")];default:throw new t0(i,"Angular")}}function F5({node:s,index:e}){return s.type==="NGMicrosyntaxKeyedExpression"&&s.key.name==="of"&&e===1}var nie=wi(["CallExpression","OptionalCallExpression","AssignmentExpression"]);function sie({node:s}){return TT(s,nie)}function gH(s,e,t){let{node:i}=s;return re([si(Ue,s.map(t,"decorators")),fH(i,e)?Se:Ue])}function oie(s,e,t){return pH(s.node)?[si(Se,s.map(t,"declaration","decorators")),Se]:""}function rie(s,e,t){let{node:i,parent:n}=s,{decorators:o}=i;if(!mi(o)||pH(n)||uH(s))return"";let r=i.type==="ClassExpression"||i.type==="ClassDeclaration"||fH(i,e);return[s.key==="declaration"&&YQ(n)?Se:r?fd:"",si(Ue,s.map(t,"decorators")),Ue]}function fH(s,e){return s.decorators.some(t=>Ar(e.originalText,oi(t)))}function pH(s){var e;if(s.type!=="ExportDefaultDeclaration"&&s.type!=="ExportNamedDeclaration"&&s.type!=="DeclareExportDeclaration")return!1;let t=(e=s.declaration)==null?void 0:e.decorators;return mi(t)&&RL(s,t[0])}var DS=class extends Error{constructor(){super(...arguments);Q1(this,"name","ArgExpansionBailout")}};function aie(s,e,t){let{node:i}=s,n=wa(i);if(n.length===0)return["(",gn(s,e),")"];let o=n.length-1;if(cie(n)){let u=["("];return yS(s,(h,g)=>{u.push(t()),g!==o&&u.push(", ")}),u.push(")"),u}let r=!1,a=[];yS(s,({node:u},h)=>{let g=t();h===o||(Yc(u,e)?(r=!0,g=[g,",",Se,Se]):g=[g,",",Ue]),a.push(g)});let l=!e.parser.startsWith("__ng_")&&i.type!=="ImportExpression"&&Xc(e,"all")?",":"";function d(){return re(["(",Le([Ue,...a]),l,Ue,")"],{shouldBreak:!0})}if(r||s.parent.type!=="Decorator"&&aJ(n))return d();if(die(n)){let u=a.slice(1);if(u.some(So))return d();let h;try{h=t(L5(i,0),{expandFirstArg:!0})}catch(g){if(g instanceof DS)return d();throw g}return So(h)?[fd,qg([["(",re(h,{shouldBreak:!0}),", ",...u,")"],d()])]:qg([["(",h,", ",...u,")"],["(",re(h,{shouldBreak:!0}),", ",...u,")"],d()])}if(lie(n,a,e)){let u=a.slice(0,-1);if(u.some(So))return d();let h;try{h=t(L5(i,-1),{expandLastArg:!0})}catch(g){if(g instanceof DS)return d();throw g}return So(h)?[fd,qg([["(",...u,re(h,{shouldBreak:!0}),")"],d()])]:qg([["(",...u,h,")"],["(",...u,re(h,{shouldBreak:!0}),")"],d()])}let c=["(",Le([be,...a]),Rt(l),be,")"];return MW(s)?c:re(c,{shouldBreak:a.some(So)||r})}function Bv(s,e=!1){return il(s)&&(s.properties.length>0||Re(s))||zs(s)&&(s.elements.length>0||Re(s))||s.type==="TSTypeAssertion"&&Bv(s.expression)||Xl(s)&&Bv(s.expression)||s.type==="FunctionExpression"||s.type==="ArrowFunctionExpression"&&(!s.returnType||!s.returnType.typeAnnotation||s.returnType.typeAnnotation.type!=="TSTypeReference"||uie(s.body))&&(s.body.type==="BlockStatement"||s.body.type==="ArrowFunctionExpression"&&Bv(s.body,!0)||il(s.body)||zs(s.body)||!e&&(ui(s.body)||s.body.type==="ConditionalExpression")||bs(s.body))||s.type==="DoExpression"||s.type==="ModuleExpression"}function lie(s,e,t){var i,n;let o=Si(!1,s,-1);if(s.length===1){let a=Si(!1,e,-1);if((i=a.label)!=null&&i.embed&&((n=a.label)==null?void 0:n.hug)!==!1)return!0}let r=Si(!1,s,-2);return!Re(o,Ze.Leading)&&!Re(o,Ze.Trailing)&&Bv(o)&&(!r||r.type!==o.type)&&(s.length!==2||r.type!=="ArrowFunctionExpression"||!zs(o))&&!(s.length>1&&VH(o,t))}function die(s){if(s.length!==2)return!1;let[e,t]=s;return e.type==="ModuleExpression"&&hie(t)?!0:!Re(e)&&(e.type==="FunctionExpression"||e.type==="ArrowFunctionExpression"&&e.body.type==="BlockStatement")&&t.type!=="FunctionExpression"&&t.type!=="ArrowFunctionExpression"&&t.type!=="ConditionalExpression"&&mH(t)&&!Bv(t)}function mH(s){if(s.type==="ParenthesizedExpression")return mH(s.expression);if(Xl(s)||s.type==="TypeCastExpression"){let{typeAnnotation:e}=s;if(e.type==="TypeAnnotation"&&(e=e.typeAnnotation),e.type==="TSArrayType"&&(e=e.elementType,e.type==="TSArrayType"&&(e=e.elementType)),e.type==="GenericTypeAnnotation"||e.type==="TSTypeReference"){let t=e.typeArguments??e.typeParameters;(t==null?void 0:t.params.length)===1&&(e=t.params[0])}return _P(e)&&Wa(s.expression,1)}return i_(s)&&wa(s).length>1?!1:Fc(s)?Wa(s.left,1)&&Wa(s.right,1):kW(s)||Wa(s)}function cie(s){return s.length===2?O5(s,0):s.length===3?s[0].type==="Identifier"&&O5(s,1):!1}function O5(s,e){let t=s[e],i=s[e+1];return t.type==="ArrowFunctionExpression"&&uo(t).length===0&&t.body.type==="BlockStatement"&&i.type==="ArrayExpression"&&!s.some(n=>Re(n))}function uie(s){return s.type==="BlockStatement"&&(s.body.some(e=>e.type!=="EmptyStatement")||Re(s,Ze.Dangling))}function hie(s){return s.type==="ObjectExpression"&&s.properties.length===1&&Qc(s.properties[0])&&s.properties[0].key.type==="Identifier"&&s.properties[0].key.name==="type"&&sr(s.properties[0].value)&&s.properties[0].value.value==="module"}var zT=aie,gie=s=>((s.type==="ChainExpression"||s.type==="TSNonNullExpression")&&(s=s.expression),ui(s)&&wa(s).length>0);function fie(s,e,t){var i;let n=t("object"),o=_H(s,e,t),{node:r}=s,a=s.findAncestor(c=>!(Rn(c)||c.type==="TSNonNullExpression")),l=s.findAncestor(c=>!(c.type==="ChainExpression"||c.type==="TSNonNullExpression")),d=a&&(a.type==="NewExpression"||a.type==="BindExpression"||a.type==="AssignmentExpression"&&a.left.type!=="Identifier")||r.computed||r.object.type==="Identifier"&&r.property.type==="Identifier"&&!Rn(l)||(l.type==="AssignmentExpression"||l.type==="VariableDeclarator")&&(gie(r.object)||((i=n.label)==null?void 0:i.memberChain));return s1(n.label,[n,d?o:re(Le([be,o]))])}function _H(s,e,t){let i=t("property"),{node:n}=s,o=ko(s);return n.computed?!n.property||Pc(n.property)?[o,"[",i,"]"]:re([o,"[",Le([be,i]),be,"]"]):[o,".",i]}function vH(s,e,t){if(s.node.type==="ChainExpression")return s.call(()=>vH(s,e,t),"expression");let{parent:i}=s,n=!i||i.type==="ExpressionStatement",o=[];function r(V){let{originalText:U}=e,J=e0(U,oi(V));return U.charAt(J)===")"?J!==!1&&gP(U,J+1):Yc(V,e)}function a(){let{node:V}=s;if(V.type==="ChainExpression")return s.call(a,"expression");if(ui(V)&&(zp(V.callee)||ui(V.callee))){let U=r(V);o.unshift({node:V,hasTrailingEmptyLine:U,printed:[Xa(s,[ko(s),vf(s,e,t),zT(s,e,t)],e),U?Se:""]}),s.call(a,"callee")}else zp(V)?(o.unshift({node:V,needsParens:ip(s,e),printed:Xa(s,Rn(V)?_H(s,e,t):WH(s,e,t),e)}),s.call(a,"object")):V.type==="TSNonNullExpression"?(o.unshift({node:V,printed:Xa(s,"!",e)}),s.call(a,"expression")):o.unshift({node:V,printed:t()})}let{node:l}=s;o.unshift({node:l,printed:[ko(s),vf(s,e,t),zT(s,e,t)]}),l.callee&&s.call(a,"callee");let d=[],c=[o[0]],u=1;for(;u 0&&d.push(c);function g(V){return/^[A-Z]|^[$_]+$/u.test(V)}function f(V){return V.length<=e.tabWidth}function m(V){var U;let J=(U=V[1][0])==null?void 0:U.node.computed;if(V[0].length===1){let De=V[0][0].node;return De.type==="ThisExpression"||De.type==="Identifier"&&(g(De.name)||n&&f(De.name)||J)}let pe=Si(!1,V[0],-1).node;return Rn(pe)&&pe.property.type==="Identifier"&&(g(pe.property.name)||J)}let _=d.length>=2&&!Re(d[1][0].node)&&m(d);function v(V){let U=V.map(J=>J.printed);return V.length>0&&Si(!1,V,-1).needsParens?["(",...U,")"]:U}function b(V){return V.length===0?"":Le([Se,si(Se,V.map(v))])}let C=d.map(v),w=C,y=_?3:2,D=d.flat(),L=D.slice(1,-1).some(V=>Re(V.node,Ze.Leading))||D.slice(0,-1).some(V=>Re(V.node,Ze.Trailing))||d[y]&&Re(d[y][0].node,Ze.Leading);if(d.length<=y&&!L&&!d.some(V=>Si(!1,V,-1).hasTrailingEmptyLine))return MW(s)?w:re(w);let k=Si(!1,d[_?1:0],-1).node,I=!ui(k)&&r(k),O=[v(d[0]),_?d.slice(1,2).map(v):"",I?Se:"",b(d.slice(_?2:1))],R=o.map(({node:V})=>V).filter(ui);function P(){let V=Si(!1,Si(!1,d,-1),-1).node,U=Si(!1,C,-1);return ui(V)&&So(U)&&R.slice(0,-1).some(J=>J.arguments.some(yb))}let F;return L||R.length>2&&R.some(V=>!V.arguments.every(U=>Wa(U)))||C.slice(0,-1).some(So)||P()?F=re(O):F=[So(w)||I?fd:"",qg([w,O])],s1({memberChain:!0},F)}var pie=vH;function bH(s,e,t){var i;let{node:n}=s,o=n.type==="NewExpression",r=n.type==="ImportExpression",a=ko(s),l=wa(n),d=l.length===1&&NW(l[0],e.originalText);if(d||mie(s)||FL(n,s.parent)){let u=[];if(yS(s,()=>{u.push(t())}),!(d&&(i=u[0].label)!=null&&i.embed))return[o?"new ":"",B5(s,t),a,vf(s,e,t),"(",si(", ",u),")"]}if(!r&&!o&&zp(n.callee)&&!s.call(u=>ip(u,e),"callee",...n.callee.type==="ChainExpression"?["expression"]:[]))return pie(s,e,t);let c=[o?"new ":"",B5(s,t),a,vf(s,e,t),zT(s,e,t)];return r||ui(n.callee)?re(c):c}function B5(s,e){let{node:t}=s;return t.type==="ImportExpression"?`import${t.phase?`.${t.phase}`:""}`:e("callee")}function mie(s){let{node:e}=s;if(e.type!=="CallExpression"||e.optional||e.callee.type!=="Identifier")return!1;let t=wa(e);return e.callee.name==="require"?t.length===1&&sr(t[0])||t.length>1:e.callee.name==="define"&&s.parent.type==="ExpressionStatement"?t.length===1||t.length===2&&t[0].type==="ArrayExpression"||t.length===3&&sr(t[0])&&t[1].type==="ArrayExpression":!1}function o1(s,e,t,i,n,o){let r=bie(s,e,t,i,o),a=o?t(o,{assignmentLayout:r}):"";switch(r){case"break-after-operator":return re([re(i),n,re(Le([Ue,a]))]);case"never-break-after-operator":return re([re(i),n," ",a]);case"fluid":{let l=Symbol("assignment");return re([re(i),n,re(Le(Ue),{id:l}),Bc,BL(a,{groupId:l})])}case"break-lhs":return re([i,n," ",re(a)]);case"chain":return[re(i),n,Ue,a];case"chain-tail":return[re(i),n,Le([Ue,a])];case"chain-tail-arrow-chain":return[re(i),n,a];case"only-left":return i}}function _ie(s,e,t){let{node:i}=s;return o1(s,e,t,t("left"),[" ",i.operator],"right")}function vie(s,e,t){return o1(s,e,t,t("id")," =","init")}function bie(s,e,t,i,n){let{node:o}=s,r=o[n];if(!r)return"only-left";let a=!Ay(r);if(s.match(Ay,CH,c=>!a||c.type!=="ExpressionStatement"&&c.type!=="VariableDeclaration"))return a?r.type==="ArrowFunctionExpression"&&r.body.type==="ArrowFunctionExpression"?"chain-tail-arrow-chain":"chain-tail":"chain";if(!a&&Ay(r.right)||vh(e.originalText,r))return"break-after-operator";if(o.type==="ImportAttribute"||r.type==="CallExpression"&&r.callee.name==="require"||e.parser==="json5"||e.parser==="jsonc"||e.parser==="json")return"never-break-after-operator";let l=xJ(i);if(wie(o)||Lie(o)||wH(o)&&l)return"break-lhs";let d=kie(o,i,e);return s.call(()=>Cie(s,e,t,d),n)?"break-after-operator":yie(o)?"break-lhs":!l&&(d||r.type==="TemplateLiteral"||r.type==="TaggedTemplateExpression"||r.type==="BooleanLiteral"||Pc(r)||r.type==="ClassExpression")?"never-break-after-operator":"fluid"}function Cie(s,e,t,i){let n=s.node;if(Fc(n)&&!Lb(n))return!0;switch(n.type){case"StringLiteralTypeAnnotation":case"SequenceExpression":return!0;case"TSConditionalType":case"ConditionalTypeAnnotation":if(!e.experimentalTernaries&&!Tie(n))break;return!0;case"ConditionalExpression":{if(!e.experimentalTernaries){let{test:d}=n;return Fc(d)&&!Lb(d)}let{consequent:a,alternate:l}=n;return a.type==="ConditionalExpression"||l.type==="ConditionalExpression"}case"ClassExpression":return mi(n.decorators)}if(i)return!1;let o=n,r=[];for(;;)if(o.type==="UnaryExpression"||o.type==="AwaitExpression"||o.type==="YieldExpression"&&o.argument!==null)o=o.argument,r.push("argument");else if(o.type==="TSNonNullExpression")o=o.expression,r.push("expression");else break;return!!(sr(o)||s.call(()=>yH(s,e,t),...r))}function wie(s){if(CH(s)){let e=s.left||s.id;return e.type==="ObjectPattern"&&e.properties.length>2&&e.properties.some(t=>{var i;return Qc(t)&&(!t.shorthand||((i=t.value)==null?void 0:i.type)==="AssignmentPattern")})}return!1}function Ay(s){return s.type==="AssignmentExpression"}function CH(s){return Ay(s)||s.type==="VariableDeclarator"}function yie(s){let e=Die(s);if(mi(e)){let t=s.type==="TSTypeAliasDeclaration"?"constraint":"bound";if(e.length>1&&e.some(i=>i[t]||i.default))return!0}return!1}var Sie=wi(["TSTypeAliasDeclaration","TypeAlias"]);function Die(s){var e;if(Sie(s))return(e=s.typeParameters)==null?void 0:e.params}function Lie(s){if(s.type!=="VariableDeclarator")return!1;let{typeAnnotation:e}=s.id;if(!e||!e.typeAnnotation)return!1;let t=W5(e.typeAnnotation);return mi(t)&&t.length>1&&t.some(i=>mi(W5(i))||i.type==="TSConditionalType")}function wH(s){var e;return s.type==="VariableDeclarator"&&((e=s.init)==null?void 0:e.type)==="ArrowFunctionExpression"}var xie=wi(["TSTypeReference","GenericTypeAnnotation"]);function W5(s){var e;if(xie(s))return(e=s.typeArguments??s.typeParameters)==null?void 0:e.params}function yH(s,e,t,i=!1){var n;let{node:o}=s,r=()=>yH(s,e,t,!0);if(o.type==="ChainExpression"||o.type==="TSNonNullExpression")return s.call(r,"expression");if(ui(o)){if((n=bH(s,e,t).label)!=null&&n.memberChain)return!1;let a=wa(o);return!(a.length===0||a.length===1&&vP(a[0],e))||Eie(o,t)?!1:s.call(r,"callee")}return Rn(o)?s.call(r,"object"):i&&(o.type==="Identifier"||o.type==="ThisExpression")}function kie(s,e,t){return Qc(s)?(e=yP(e),typeof e=="string"&&Qm(e) 1)return!0;if(t.length===1){let n=t[0];if(bh(n)||CP(n)||n.type==="TSTypeLiteral"||n.type==="ObjectTypeAnnotation")return!0}let i=s.typeParameters?"typeParameters":"typeArguments";if(So(e(i)))return!0}return!1}function Iie(s){var e;return(e=s.typeParameters??s.typeArguments)==null?void 0:e.params}function Tie(s){function e(t){switch(t.type){case"FunctionTypeAnnotation":case"GenericTypeAnnotation":case"TSFunctionType":return!!t.typeParameters;case"TSTypeReference":return!!(t.typeArguments??t.typeParameters);default:return!1}}return e(s.checkType)||e(s.extendsType)}function np(s,e,t,i,n){let o=s.node,r=uo(o),a=n?vf(s,t,e):"";if(r.length===0)return[a,"(",gn(s,t,{filter:g=>nl(t.originalText,oi(g))===")"}),")"];let{parent:l}=s,d=FL(l),c=SH(o),u=[];if(gJ(s,(g,f)=>{let m=f===r.length-1;m&&o.rest&&u.push("..."),u.push(e()),!m&&(u.push(","),d||c?u.push(" "):Yc(r[f],t)?u.push(Se,Se):u.push(Ue))}),i&&!Aie(s)){if(So(a)||So(u))throw new DS;return re([AT(a),"(",AT(u),")"])}let h=r.every(g=>!mi(g.decorators));return c&&h?[a,"(",...u,")"]:d?[a,"(",...u,")"]:(EW(l)||tJ(l)||l.type==="TypeAlias"||l.type==="UnionTypeAnnotation"||l.type==="IntersectionTypeAnnotation"||l.type==="FunctionTypeAnnotation"&&l.returnType===o)&&r.length===1&&r[0].name===null&&o.this!==r[0]&&r[0].typeAnnotation&&o.typeParameters===null&&_P(r[0].typeAnnotation)&&!o.rest?t.arrowParens==="always"||o.type==="HookTypeAnnotation"?["(",...u,")"]:u:[a,"(",Le([be,...u]),Rt(!hJ(o)&&Xc(t,"all")?",":""),be,")"]}function SH(s){if(!s)return!1;let e=uo(s);if(e.length!==1)return!1;let[t]=e;return!Re(t)&&(t.type==="ObjectPattern"||t.type==="ArrayPattern"||t.type==="Identifier"&&t.typeAnnotation&&(t.typeAnnotation.type==="TypeAnnotation"||t.typeAnnotation.type==="TSTypeAnnotation")&&_h(t.typeAnnotation.typeAnnotation)||t.type==="FunctionTypeParam"&&_h(t.typeAnnotation)&&t!==s.rest||t.type==="AssignmentPattern"&&(t.left.type==="ObjectPattern"||t.left.type==="ArrayPattern")&&(t.right.type==="Identifier"||il(t.right)&&t.right.properties.length===0||zs(t.right)&&t.right.elements.length===0))}function Nie(s){let e;return s.returnType?(e=s.returnType,e.typeAnnotation&&(e=e.typeAnnotation)):s.typeAnnotation&&(e=s.typeAnnotation),e}function i0(s,e){var t;let i=Nie(s);if(!i)return!1;let n=(t=s.typeParameters)==null?void 0:t.params;if(n){if(n.length>1)return!1;if(n.length===1){let o=n[0];if(o.constraint||o.default)return!1}}return uo(s).length===1&&(_h(i)||So(e))}function Aie(s){return s.match(e=>e.type==="ArrowFunctionExpression"&&e.body.type==="BlockStatement",(e,t)=>{if(e.type==="CallExpression"&&t==="arguments"&&e.arguments.length===1&&e.callee.type==="CallExpression"){let i=e.callee.callee;return i.type==="Identifier"||i.type==="MemberExpression"&&!i.computed&&i.object.type==="Identifier"&&i.property.type==="Identifier"}return!1},(e,t)=>e.type==="VariableDeclarator"&&t==="init"||e.type==="ExportDefaultDeclaration"&&t==="declaration"||e.type==="TSExportAssignment"&&t==="expression"||e.type==="AssignmentExpression"&&t==="right"&&e.left.type==="MemberExpression"&&e.left.object.type==="Identifier"&&e.left.object.name==="module"&&e.left.property.type==="Identifier"&&e.left.property.name==="exports",e=>e.type!=="VariableDeclaration"||e.kind==="const"&&e.declarations.length===1)}function Mie(s){let e=uo(s);return e.length>1&&e.some(t=>t.type==="TSParameterProperty")}var Rie=wi(["VoidTypeAnnotation","TSVoidKeyword","NullLiteralTypeAnnotation","TSNullKeyword"]),Pie=wi(["ObjectTypeAnnotation","TSTypeLiteral","GenericTypeAnnotation","TSTypeReference"]);function Fie(s){let{types:e}=s;if(e.some(i=>Re(i)))return!1;let t=e.find(i=>Pie(i));return t?e.every(i=>i===t||Rie(i)):!1}function DH(s){return _P(s)||_h(s)?!0:bh(s)?Fie(s):!1}function Oie(s,e,t){let i=e.semi?";":"",{node:n}=s,o=[or(s),"opaque type ",t("id"),t("typeParameters")];return n.supertype&&o.push(": ",t("supertype")),n.impltype&&o.push(" = ",t("impltype")),o.push(i),o}function LH(s,e,t){let i=e.semi?";":"",{node:n}=s,o=[or(s)];o.push("type ",t("id"),t("typeParameters"));let r=n.type==="TSTypeAliasDeclaration"?"typeAnnotation":"right";return[o1(s,e,t,o," =",r),i]}function xH(s,e,t){let i=!1;return re(s.map(({isFirst:n,previous:o,node:r,index:a})=>{let l=t();if(n)return l;let d=_h(r),c=_h(o);return c&&d?[" & ",i?Le(l):l]:!c&&!d?e.experimentalOperatorPosition==="start"?Le([Ue,"& ",l]):Le([" &",Ue,l]):(a>1&&(i=!0),[" & ",a>1?Le(l):l])},"types"))}function kH(s,e,t){let{node:i}=s,{parent:n}=s,o=n.type!=="TypeParameterInstantiation"&&(!Ch(n)||!e.experimentalTernaries)&&n.type!=="TSTypeParameterInstantiation"&&n.type!=="GenericTypeAnnotation"&&n.type!=="TSTypeReference"&&n.type!=="TSTypeAssertion"&&n.type!=="TupleTypeAnnotation"&&n.type!=="TSTupleType"&&!(n.type==="FunctionTypeParam"&&!n.name&&s.grandparent.this!==n)&&!((n.type==="TypeAlias"||n.type==="VariableDeclarator"||n.type==="TSTypeAliasDeclaration")&&vh(e.originalText,i)),r=DH(i),a=s.map(c=>{let u=t();return r||(u=gd(2,u)),Xa(c,u,e)},"types");if(r)return si(" | ",a);let l=o&&!vh(e.originalText,i),d=[Rt([l?Ue:"","| "]),si([Ue,"| "],a)];return ip(s,e)?re([Le(d),be]):(n.type==="TupleTypeAnnotation"||n.type==="TSTupleType")&&n[n.type==="TupleTypeAnnotation"&&n.types?"types":"elementTypes"].length>1?re([Le([Rt(["(",be]),d]),be,Rt(")")]):re(o?Le(d):d)}function Bie(s){var e;let{node:t,parent:i}=s;return t.type==="FunctionTypeAnnotation"&&(EW(i)||!((i.type==="ObjectTypeProperty"||i.type==="ObjectTypeInternalSlot")&&!i.variance&&!i.optional&&RL(i,t)||i.type==="ObjectTypeCallProperty"||((e=s.getParentNode(2))==null?void 0:e.type)==="DeclareFunction"))}function EH(s,e,t){let{node:i}=s,n=[WL(s)];(i.type==="TSConstructorType"||i.type==="TSConstructSignatureDeclaration")&&n.push("new ");let o=np(s,t,e,!1,!0),r=[];return i.type==="FunctionTypeAnnotation"?r.push(Bie(s)?" => ":": ",t("returnType")):r.push(Hs(s,t,i.returnType?"returnType":"typeAnnotation")),i0(i,r)&&(o=re(o)),n.push(o,r),re(n)}function IH(s,e,t){return[t("objectType"),ko(s),"[",t("indexType"),"]"]}function TH(s,e,t){return["infer ",t("typeParameter")]}function H5(s,e,t){let{node:i}=s;return[i.postfix?"":t,Hs(s,e),i.postfix?t:""]}function NH(s,e,t){let{node:i}=s;return["...",...i.type==="TupleTypeSpreadElement"&&i.label?[t("label"),": "]:[],t("typeAnnotation")]}function AH(s,e,t){let{node:i}=s;return[i.variance?t("variance"):"",t("label"),i.optional?"?":"",": ",t("elementType")]}var Wie=new WeakSet;function Hs(s,e,t="typeAnnotation"){let{node:{[t]:i}}=s;if(!i)return"";let n=!1;if(i.type==="TSTypeAnnotation"||i.type==="TypeAnnotation"){let o=s.call(MH,t);(o==="=>"||o===":"&&Re(i,Ze.Leading))&&(n=!0),Wie.add(i)}return n?[" ",e(t)]:e(t)}var MH=s=>s.match(e=>e.type==="TSTypeAnnotation",(e,t)=>(t==="returnType"||t==="typeAnnotation")&&(e.type==="TSFunctionType"||e.type==="TSConstructorType"))?"=>":s.match(e=>e.type==="TSTypeAnnotation",(e,t)=>t==="typeAnnotation"&&(e.type==="TSJSDocNullableType"||e.type==="TSJSDocNonNullableType"||e.type==="TSTypePredicate"))||s.match(e=>e.type==="TypeAnnotation",(e,t)=>t==="typeAnnotation"&&e.type==="Identifier",(e,t)=>t==="id"&&e.type==="DeclareFunction")||s.match(e=>e.type==="TypeAnnotation",(e,t)=>t==="typeAnnotation"&&e.type==="Identifier",(e,t)=>t==="id"&&e.type==="DeclareHook")||s.match(e=>e.type==="TypeAnnotation",(e,t)=>t==="bound"&&e.type==="TypeParameter"&&e.usesExtendsBound)?"":":";function RH(s,e,t){let i=MH(s);return i?[i," ",t("typeAnnotation")]:t("typeAnnotation")}function PH(s){return[s("elementType"),"[]"]}function FH({node:s},e){let t=s.type==="TSTypeQuery"?"exprName":"argument",i=s.type==="TypeofTypeAnnotation"||s.typeArguments?"typeArguments":"typeParameters";return["typeof ",e(t),e(i)]}function OH(s,e){let{node:t}=s;return[t.type==="TSTypePredicate"&&t.asserts?"asserts ":t.type==="TypePredicate"&&t.kind?`${t.kind} `:"",e("parameterName"),t.typeAnnotation?[" is ",Hs(s,e)]:""]}function ko(s){let{node:e}=s;return!e.optional||e.type==="Identifier"&&e===s.parent.key?"":ui(e)||Rn(e)&&e.computed||e.type==="OptionalIndexedAccessType"?"?.":"?"}function BH(s){return s.node.definite||s.match(void 0,(e,t)=>t==="id"&&e.type==="VariableDeclarator"&&e.definite)?"!":""}var Hie=new Set(["DeclareClass","DeclareComponent","DeclareFunction","DeclareHook","DeclareVariable","DeclareExportDeclaration","DeclareExportAllDeclaration","DeclareOpaqueType","DeclareTypeAlias","DeclareEnum","DeclareInterface"]);function or(s){let{node:e}=s;return e.declare||Hie.has(e.type)&&s.parent.type!=="DeclareExportDeclaration"?"declare ":""}var Vie=new Set(["TSAbstractMethodDefinition","TSAbstractPropertyDefinition","TSAbstractAccessorProperty"]);function WL({node:s}){return s.abstract||Vie.has(s.type)?"abstract ":""}function vf(s,e,t){let i=s.node;return i.typeArguments?t("typeArguments"):i.typeParameters?t("typeParameters"):""}function WH(s,e,t){return["::",t("callee")]}function hu(s,e,t){return s.type==="EmptyStatement"?";":s.type==="BlockStatement"||t?[" ",e]:Le([Ue,e])}function HH(s,e){return["...",e("argument"),Hs(s,e)]}function LS(s){return s.accessibility?s.accessibility+" ":""}function zie(s,e,t,i){let{node:n}=s,o=n.inexact?"...":"";return Re(n,Ze.Dangling)?re([t,o,gn(s,e,{indent:!0}),be,i]):[t,o,i]}function TP(s,e,t){let{node:i}=s,n=[],o=i.type==="TupleExpression"?"#[":"[",r="]",a=i.type==="TupleTypeAnnotation"&&i.types?"types":i.type==="TSTupleType"||i.type==="TupleTypeAnnotation"?"elementTypes":"elements",l=i[a];if(l.length===0)n.push(zie(s,e,o,r));else{let d=Si(!1,l,-1),c=(d==null?void 0:d.type)!=="RestElement"&&!i.inexact,u=d===null,h=Symbol("array"),g=!e.__inJestEach&&l.length>1&&l.every((_,v,b)=>{let C=_==null?void 0:_.type;if(!zs(_)&&!il(_))return!1;let w=b[v+1];if(w&&C!==w.type)return!1;let y=zs(_)?"elements":"properties";return _[y]&&_[y].length>1}),f=VH(i,e),m=c?u?",":Xc(e)?f?Rt(",","",{groupId:h}):Rt(","):"":"";n.push(re([o,Le([be,f?$ie(s,e,t,m):[Uie(s,e,a,i.inexact,t),m],gn(s,e)]),be,r],{shouldBreak:g,id:h}))}return n.push(ko(s),Hs(s,t)),n}function VH(s,e){return zs(s)&&s.elements.length>1&&s.elements.every(t=>t&&(Pc(t)||xW(t)&&!Re(t.argument))&&!Re(t,Ze.Trailing|Ze.Line,i=>!Ar(e.originalText,Ln(i),{backwards:!0})))}function zH({node:s},{originalText:e}){let t=n=>uP(e,hP(e,n)),i=n=>e[n]===","?n:i(t(n+1));return gP(e,i(oi(s)))}function Uie(s,e,t,i,n){let o=[];return s.each(({node:r,isLast:a})=>{o.push(r?re(n()):""),(!a||i)&&o.push([",",Ue,r&&zH(s,e)?be:""])},t),i&&o.push("..."),o}function $ie(s,e,t,i){let n=[];return s.each(({isLast:o,next:r})=>{n.push([t(),o?i:","]),o||n.push(zH(s,e)?[Se,Se]:Re(r,Ze.Leading|Ze.Line)?Se:Ue)},"elements"),WW(n)}var jie=/^[\$A-Z_a-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\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-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\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\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC][\$0-9A-Z_a-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u08A0-\u08B4\u08B6-\u08BD\u08D4-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D01-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19D9\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1CD0-\u1CD2\u1CD4-\u1CF6\u1CF8\u1CF9\u1D00-\u1DF5\u1DFB-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u200C\u200D\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u2E2F\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099\u309A\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]*$/,Kie=s=>jie.test(s),qie=Kie;function Gie(s){return s.length===1?s:s.toLowerCase().replace(/^([+-]?[\d.]+e)(?:\+|(-))?0*(?=\d)/u,"$1$2").replace(/^([+-]?[\d.]+)e[+-]?0+$/u,"$1").replace(/^([+-])?\./u,"$10.").replace(/(\.\d+?)0+(?=e|$)/u,"$1").replace(/\.(?=e|$)/u,"")}var n_=Gie,My=new WeakMap;function UH(s){return/^(?:\d+|\d+\.\d+)$/u.test(s)}function V5(s,e){return e.parser==="json"||e.parser==="jsonc"||!sr(s.key)||t_(fa(s.key),e).slice(1,-1)!==s.key.value?!1:!!(qie(s.key.value)&&!(e.parser==="babel-ts"&&s.type==="ClassProperty"||e.parser==="typescript"&&s.type==="PropertyDefinition")||UH(s.key.value)&&String(Number(s.key.value))===s.key.value&&s.type!=="ImportAttribute"&&(e.parser==="babel"||e.parser==="acorn"||e.parser==="espree"||e.parser==="meriyah"||e.parser==="__babel_estree"))}function Zie(s,e){let{key:t}=s.node;return(t.type==="Identifier"||Pc(t)&&UH(n_(fa(t)))&&String(t.value)===n_(fa(t))&&!(e.parser==="typescript"||e.parser==="babel-ts"))&&(e.parser==="json"||e.parser==="jsonc"||e.quoteProps==="consistent"&&My.get(s.parent))}function r1(s,e,t){let{node:i}=s;if(i.computed)return["[",t("key"),"]"];let{parent:n}=s,{key:o}=i;if(e.quoteProps==="consistent"&&!My.has(n)){let r=s.siblings.some(a=>!a.computed&&sr(a.key)&&!V5(a,e));My.set(n,r)}if(Zie(s,e)){let r=t_(JSON.stringify(o.type==="Identifier"?o.name:o.value.toString()),e);return s.call(a=>Xa(a,r,e),"key")}return V5(i,e)&&(e.quoteProps==="as-needed"||e.quoteProps==="consistent"&&!My.get(n))?s.call(r=>Xa(r,/^\d/u.test(o.value)?n_(o.value):o.value,e),"key"):t("key")}function SE(s,e,t){let{node:i}=s;return i.shorthand?t("value"):o1(s,e,t,r1(s,e,t),":","value")}var Xie=({node:s,key:e,parent:t})=>e==="value"&&s.type==="FunctionExpression"&&(t.type==="ObjectMethod"||t.type==="ClassMethod"||t.type==="ClassPrivateMethod"||t.type==="MethodDefinition"||t.type==="TSAbstractMethodDefinition"||t.type==="TSDeclareMethod"||t.type==="Property"&&PL(t));function $H(s,e,t,i){if(Xie(s))return NP(s,t,e);let{node:n}=s,o=!1;if((n.type==="FunctionDeclaration"||n.type==="FunctionExpression")&&i!=null&&i.expandLastArg){let{parent:c}=s;ui(c)&&(wa(c).length>1||uo(n).every(u=>u.type==="Identifier"&&!u.typeAnnotation))&&(o=!0)}let r=[or(s),n.async?"async ":"",`function${n.generator?"*":""} `,n.id?e("id"):""],a=np(s,e,t,o),l=HL(s,e),d=i0(n,l);return r.push(vf(s,t,e),re([d?re(a):a,l]),n.body?" ":"",e("body")),t.semi&&(n.declare||!n.body)&&r.push(";"),r}function UT(s,e,t){let{node:i}=s,{kind:n}=i,o=i.value||i,r=[];return!n||n==="init"||n==="method"||n==="constructor"?o.async&&r.push("async "):(fP.ok(n==="get"||n==="set"),r.push(n," ")),o.generator&&r.push("*"),r.push(r1(s,e,t),i.optional||i.key.optional?"?":"",i===o?NP(s,e,t):t("value")),r}function NP(s,e,t){let{node:i}=s,n=np(s,t,e),o=HL(s,t),r=Mie(i),a=i0(i,o),l=[vf(s,e,t),re([r?re(n,{shouldBreak:!0}):a?re(n):n,o])];return i.body?l.push(" ",t("body")):l.push(e.semi?";":""),l}function Yie(s){let e=uo(s);return e.length===1&&!s.typeParameters&&!Re(s,Ze.Dangling)&&e[0].type==="Identifier"&&!e[0].typeAnnotation&&!Re(e[0])&&!e[0].optional&&!s.predicate&&!s.returnType}function jH(s,e){if(e.arrowParens==="always")return!1;if(e.arrowParens==="avoid"){let{node:t}=s;return Yie(t)}return!1}function HL(s,e){let{node:t}=s,i=[Hs(s,e,"returnType")];return t.predicate&&i.push(e("predicate")),i}function KH(s,e,t){let{node:i}=s,n=e.semi?";":"",o=[];if(i.argument){let l=t("argument");ene(e,i.argument)?l=["(",Le([Se,l]),Se,")"]:(Fc(i.argument)||i.argument.type==="SequenceExpression"||e.experimentalTernaries&&i.argument.type==="ConditionalExpression"&&(i.argument.consequent.type==="ConditionalExpression"||i.argument.alternate.type==="ConditionalExpression"))&&(l=re([Rt("("),Le([be,l]),be,Rt(")")])),o.push(" ",l)}let r=Re(i,Ze.Dangling),a=n&&r&&Re(i,Ze.Last|Ze.Line);return a&&o.push(n),r&&o.push(" ",gn(s,e)),a||o.push(n),o}function Qie(s,e,t){return["return",KH(s,e,t)]}function Jie(s,e,t){return["throw",KH(s,e,t)]}function ene(s,e){if(vh(s.originalText,e)||Re(e,Ze.Leading,t=>wh(s.originalText,Ln(t),oi(t)))&&!bs(e))return!0;if(pP(e)){let t=e,i;for(;i=XQ(t);)if(t=i,vh(s.originalText,t))return!0}return!1}var DE=new WeakMap;function qH(s){return DE.has(s)||DE.set(s,s.type==="ConditionalExpression"&&!Co(s,e=>e.type==="ObjectExpression")),DE.get(s)}var GH=s=>s.type==="SequenceExpression";function tne(s,e,t,i={}){let n=[],o,r=[],a=!1,l=!i.expandLastArg&&s.node.body.type==="ArrowFunctionExpression",d;(function v(){let{node:b}=s,C=ine(s,e,t,i);if(n.length===0)n.push(C);else{let{leading:w,trailing:y}=cH(s,e);n.push([w,C]),r.unshift(y)}l&&(a||(a=b.returnType&&uo(b).length>0||b.typeParameters||uo(b).some(w=>w.type!=="Identifier"))),!l||b.body.type!=="ArrowFunctionExpression"?(o=t("body",i),d=b.body):s.call(v,"body")})();let c=!vh(e.originalText,d)&&(GH(d)||nne(d,o,e)||!a&&qH(d)),u=s.key==="callee"&&i_(s.parent),h=Symbol("arrow-chain"),g=sne(s,i,{signatureDocs:n,shouldBreak:a}),f=!1,m=!1,_=!1;return l&&(u||i.assignmentLayout)&&(m=!0,_=!Re(s.node,Ze.Leading&Ze.Line),f=i.assignmentLayout==="chain-tail-arrow-chain"||u&&!c),o=one(s,e,i,{bodyDoc:o,bodyComments:r,functionBody:d,shouldPutBodyOnSameLine:c}),re([re(m?Le([_?be:"",g]):g,{shouldBreak:f,id:h})," =>",l?BL(o,{groupId:h}):re(o),l&&u?Rt(be,"",{groupId:h}):""])}function ine(s,e,t,i){let{node:n}=s,o=[];if(n.async&&o.push("async "),jH(s,e))o.push(t(["params",0]));else{let a=i.expandLastArg||i.expandFirstArg,l=HL(s,t);if(a){if(So(l))throw new DS;l=re(AT(l))}o.push(re([np(s,t,e,a,!0),l]))}let r=gn(s,e,{filter(a){let l=e0(e.originalText,oi(a));return l!==!1&&e.originalText.slice(l,l+2)==="=>"}});return r&&o.push(" ",r),o}function nne(s,e,t){var i,n;return zs(s)||il(s)||s.type==="ArrowFunctionExpression"||s.type==="DoExpression"||s.type==="BlockStatement"||bs(s)||((i=e.label)==null?void 0:i.hug)!==!1&&(((n=e.label)==null?void 0:n.embed)||NW(s,t.originalText))}function sne(s,e,{signatureDocs:t,shouldBreak:i}){if(t.length===1)return t[0];let{parent:n,key:o}=s;return o!=="callee"&&i_(n)||Fc(n)?re([t[0]," =>",Le([Ue,si([" =>",Ue],t.slice(1))])],{shouldBreak:i}):o==="callee"&&i_(n)||e.assignmentLayout?re(si([" =>",Ue],t),{shouldBreak:i}):re(Le(si([" =>",Ue],t)),{shouldBreak:i})}function one(s,e,t,{bodyDoc:i,bodyComments:n,functionBody:o,shouldPutBodyOnSameLine:r}){let{node:a,parent:l}=s,d=t.expandLastArg&&Xc(e,"all")?Rt(","):"",c=(t.expandLastArg||l.type==="JSXExpressionContainer")&&!Re(a)?be:"";return r&&qH(o)?[" ",re([Rt("","("),Le([be,i]),Rt("",")"),d,c]),n]:(GH(o)&&(i=re(["(",Le([be,i]),be,")"])),r?[" ",i,n]:[Le([Ue,i,n]),d,c])}var rne=(s,e,t)=>{if(!(s&&e==null)){if(e.findLast)return e.findLast(t);for(let i=e.length-1;i>=0;i--){let n=e[i];if(t(n,i,e))return n}}},ane=rne;function $T(s,e,t,i){let{node:n}=s,o=[],r=ane(!1,n[i],a=>a.type!=="EmptyStatement");return s.each(({node:a})=>{a.type!=="EmptyStatement"&&(o.push(t()),a!==r&&(o.push(Se),Yc(a,e)&&o.push(Se)))},i),o}function ZH(s,e,t){let i=lne(s,e,t),{node:n,parent:o}=s;if(n.type==="Program"&&(o==null?void 0:o.type)!=="ModuleExpression")return i?[i,Se]:"";let r=[];if(n.type==="StaticBlock"&&r.push("static "),r.push("{"),i)r.push(Le([Se,i]),Se);else{let a=s.grandparent;o.type==="ArrowFunctionExpression"||o.type==="FunctionExpression"||o.type==="FunctionDeclaration"||o.type==="ComponentDeclaration"||o.type==="HookDeclaration"||o.type==="ObjectMethod"||o.type==="ClassMethod"||o.type==="ClassPrivateMethod"||o.type==="ForStatement"||o.type==="WhileStatement"||o.type==="DoWhileStatement"||o.type==="DoExpression"||o.type==="ModuleExpression"||o.type==="CatchClause"&&!a.finalizer||o.type==="TSModuleDeclaration"||n.type==="StaticBlock"||r.push(Se)}return r.push("}"),r}function lne(s,e,t){let{node:i}=s,n=mi(i.directives),o=i.body.some(l=>l.type!=="EmptyStatement"),r=Re(i,Ze.Dangling);if(!n&&!o&&!r)return"";let a=[];return n&&(a.push($T(s,e,t,"directives")),(o||r)&&(a.push(Se),Yc(Si(!1,i.directives,-1),e)&&a.push(Se))),o&&a.push($T(s,e,t,"body")),r&&a.push(gn(s,e)),a}function dne(s){let e=new WeakMap;return function(t){return e.has(t)||e.set(t,Symbol(s)),e.get(t)}}var XH=dne;function cne(s){switch(s){case null:return"";case"PlusOptional":return"+?";case"MinusOptional":return"-?";case"Optional":return"?"}}function une(s,e,t){let{node:i}=s;return re([i.variance?t("variance"):"","[",Le([t("keyTparam")," in ",t("sourceType")]),"]",cne(i.optional),": ",t("propType")])}function YH(s,e){return s==="+"||s==="-"?s+e:e}function hne(s,e,t){let{node:i}=s,n=e.objectWrap==="preserve"&&wh(e.originalText,Ln(i),Ln(i.typeParameter));return re(["{",Le([e.bracketSpacing?Ue:be,re([t("typeParameter"),i.optional?YH(i.optional,"?"):"",i.typeAnnotation?": ":"",t("typeAnnotation")]),e.semi?Rt(";"):""]),gn(s,e),e.bracketSpacing?Ue:be,"}"],{shouldBreak:n})}var AP=XH("typeParameters");function gne(s,e,t){let{node:i}=s;return uo(i).length===1&&i.type.startsWith("TS")&&!i[t][0].constraint&&s.parent.type==="ArrowFunctionExpression"&&!(e.filepath&&/\.ts$/u.test(e.filepath))}function Wv(s,e,t,i){let{node:n}=s;if(!n[i])return"";if(!Array.isArray(n[i]))return t(i);let o=FL(s.grandparent),r=s.match(l=>!(l[i].length===1&&_h(l[i][0])),void 0,(l,d)=>d==="typeAnnotation",l=>l.type==="Identifier",wH);if(n[i].length===0||!r&&(o||n[i].length===1&&(n[i][0].type==="NullableTypeAnnotation"||DH(n[i][0]))))return["<",si(", ",s.map(t,i)),fne(s,e),">"];let a=n.type==="TSTypeParameterInstantiation"?"":gne(s,e,i)?",":Xc(e)?Rt(","):"";return re(["<",Le([be,si([",",Ue],s.map(t,i))]),a,be,">"],{id:AP(n)})}function fne(s,e){let{node:t}=s;if(!Re(t,Ze.Dangling))return"";let i=!Re(t,Ze.Line),n=gn(s,e,{indent:!i});return i?n:[n,Se]}function QH(s,e,t){let{node:i,parent:n}=s,o=[i.const?"const ":""],r=i.type==="TSTypeParameter"?t("name"):i.name;if(n.type==="TSMappedType")return n.readonly&&o.push(YH(n.readonly,"readonly")," "),o.push("[",r),i.constraint&&o.push(" in ",t("constraint")),n.nameType&&o.push(" as ",s.callParent(()=>t("nameType"))),o.push("]"),o;if(i.variance&&o.push(t("variance")),i.in&&o.push("in "),i.out&&o.push("out "),o.push(r),i.bound&&(i.usesExtendsBound&&o.push(" extends "),o.push(Hs(s,t,"bound"))),i.constraint){let a=Symbol("constraint");o.push(" extends",re(Le(Ue),{id:a}),Bc,BL(t("constraint"),{groupId:a}))}return i.default&&o.push(" = ",t("default")),re(o)}var JH=wi(["ClassProperty","PropertyDefinition","ClassPrivateProperty","ClassAccessorProperty","AccessorProperty","TSAbstractPropertyDefinition","TSAbstractAccessorProperty"]);function eV(s,e,t){let{node:i}=s,n=[or(s),WL(s),"class"],o=Re(i.id,Ze.Trailing)||Re(i.typeParameters,Ze.Trailing)||Re(i.superClass)||mi(i.extends)||mi(i.mixins)||mi(i.implements),r=[],a=[];if(i.id&&r.push(" ",t("id")),r.push(t("typeParameters")),i.superClass){let c=[_ne(s,e,t),t(i.superTypeArguments?"superTypeArguments":"superTypeParameters")],u=s.call(h=>["extends ",Xa(h,c,e)],"superClass");o?a.push(Ue,re(u)):a.push(" ",u)}else a.push(LE(s,e,t,"extends"));a.push(LE(s,e,t,"mixins"),LE(s,e,t,"implements"));let l;if(o){let c;iV(i)?c=[...r,Le(a)]:c=Le([...r,a]),l=tV(i),n.push(re(c,{id:l}))}else n.push(...r,...a);let d=i.body;return o&&mi(d.body)?n.push(Rt(Se," ",{groupId:l})):n.push(" "),n.push(t("body")),n}var tV=XH("heritageGroup");function pne(s){return Rt(Se,"",{groupId:tV(s)})}function mne(s){return["extends","mixins","implements"].reduce((e,t)=>e+(Array.isArray(s[t])?s[t].length:0),s.superClass?1:0)>1}function iV(s){return s.typeParameters&&!Re(s.typeParameters,Ze.Trailing|Ze.Line)&&!mne(s)}function LE(s,e,t,i){let{node:n}=s;if(!mi(n[i]))return"";let o=gn(s,e,{marker:i});return[iV(n)?Rt(" ",Ue,{groupId:AP(n.typeParameters)}):Ue,o,o&&Se,i,re(Le([Ue,si([",",Ue],s.map(t,i))]))]}function _ne(s,e,t){let i=t("superClass"),{parent:n}=s;return n.type==="AssignmentExpression"?re(Rt(["(",Le([be,i]),be,")"],i)):i}function nV(s,e,t){let{node:i}=s,n=[];return mi(i.decorators)&&n.push(gH(s,e,t)),n.push(LS(i)),i.static&&n.push("static "),n.push(WL(s)),i.override&&n.push("override "),n.push(UT(s,e,t)),n}function sV(s,e,t){let{node:i}=s,n=[],o=e.semi?";":"";mi(i.decorators)&&n.push(gH(s,e,t)),n.push(or(s),LS(i)),i.static&&n.push("static "),n.push(WL(s)),i.override&&n.push("override "),i.readonly&&n.push("readonly "),i.variance&&n.push(t("variance")),(i.type==="ClassAccessorProperty"||i.type==="AccessorProperty"||i.type==="TSAbstractAccessorProperty")&&n.push("accessor "),n.push(r1(s,e,t),ko(s),BH(s),Hs(s,t));let r=i.type==="TSAbstractPropertyDefinition"||i.type==="TSAbstractAccessorProperty";return[o1(s,e,t,n," =",r?void 0:"value"),o]}function vne(s,e,t){let{node:i}=s,n=[];return s.each(({node:o,next:r,isLast:a})=>{n.push(t()),!e.semi&&JH(o)&&bne(o,r)&&n.push(";"),a||(n.push(Se),Yc(o,e)&&n.push(Se))},"body"),Re(i,Ze.Dangling)&&n.push(gn(s,e)),["{",n.length>0?[Le([Se,n]),Se]:"","}"]}function bne(s,e){var t;let{type:i,name:n}=s.key;if(!s.computed&&i==="Identifier"&&(n==="static"||n==="get"||n==="set")&&!s.value&&!s.typeAnnotation)return!0;if(!e||e.static||e.accessibility||e.readonly)return!1;if(!e.computed){let o=(t=e.key)==null?void 0:t.name;if(o==="in"||o==="instanceof")return!0}if(JH(e)&&e.variance&&!e.static&&!e.declare)return!0;switch(e.type){case"ClassProperty":case"PropertyDefinition":case"TSAbstractPropertyDefinition":return e.computed;case"MethodDefinition":case"TSAbstractMethodDefinition":case"ClassMethod":case"ClassPrivateMethod":{if((e.value?e.value.async:e.async)||e.kind==="get"||e.kind==="set")return!1;let o=e.value?e.value.generator:e.generator;return!!(e.computed||o)}case"TSIndexSignature":return!0}return!1}var Cne=wi(["TSAsExpression","TSTypeAssertion","TSNonNullExpression","TSInstantiationExpression","TSSatisfiesExpression"]);function oV(s){return Cne(s)?oV(s.expression):s}var wne=wi(["FunctionExpression","ArrowFunctionExpression"]);function yne(s){return s.type==="MemberExpression"||s.type==="OptionalMemberExpression"||s.type==="Identifier"&&s.name!=="undefined"}function Sne(s,e){if(e.semi||aV(s,e)||lV(s,e))return!1;let{node:t,key:i,parent:n}=s;return!!(t.type==="ExpressionStatement"&&(i==="body"&&(n.type==="Program"||n.type==="BlockStatement"||n.type==="StaticBlock"||n.type==="TSModuleBlock")||i==="consequent"&&n.type==="SwitchCase")&&s.call(()=>rV(s,e),"expression"))}function rV(s,e){let{node:t}=s;switch(t.type){case"ParenthesizedExpression":case"TypeCastExpression":case"ArrayExpression":case"ArrayPattern":case"TemplateLiteral":case"TemplateElement":case"RegExpLiteral":return!0;case"ArrowFunctionExpression":if(!jH(s,e))return!0;break;case"UnaryExpression":{let{prefix:i,operator:n}=t;if(i&&(n==="+"||n==="-"))return!0;break}case"BindExpression":if(!t.object)return!0;break;case"Literal":if(t.regex)return!0;break;default:if(bs(t))return!0}return ip(s,e)?!0:pP(t)?s.call(()=>rV(s,e),...LW(t)):!1}function aV({node:s,parent:e},t){return(t.parentParser==="markdown"||t.parentParser==="mdx")&&s.type==="ExpressionStatement"&&bs(s.expression)&&e.type==="Program"&&e.body.length===1}function lV({node:s,parent:e},t){return(t.parser==="__vue_event_binding"||t.parser==="__vue_ts_event_binding")&&s.type==="ExpressionStatement"&&e.type==="Program"&&e.body.length===1}function Dne(s,e,t){let i=[t("expression")];if(lV(s,e)){let n=oV(s.node.expression);(wne(n)||yne(n))&&i.push(";")}else aV(s,e)||e.semi&&i.push(";");return i}function Lne(s,e,t){if(e.__isVueBindings||e.__isVueForBindingLeft){let i=s.map(t,"program","body",0,"params");if(i.length===1)return i[0];let n=si([",",Ue],i);return e.__isVueForBindingLeft?["(",Le([be,re(n)]),be,")"]:n}if(e.__isEmbeddedTypescriptGenericParameters){let i=s.map(t,"program","body",0,"typeParameters","params");return si([",",Ue],i)}}function xne(s,e){let{node:t}=s;switch(t.type){case"RegExpLiteral":return z5(t);case"BigIntLiteral":return jT(t.extra.raw);case"NumericLiteral":return n_(t.extra.raw);case"StringLiteral":return _f(t_(t.extra.raw,e));case"NullLiteral":return"null";case"BooleanLiteral":return String(t.value);case"DirectiveLiteral":return U5(t.extra.raw,e);case"Literal":{if(t.regex)return z5(t.regex);if(t.bigint)return jT(t.raw);let{value:i}=t;return typeof i=="number"?n_(t.raw):typeof i=="string"?kne(s)?U5(t.raw,e):_f(t_(t.raw,e)):String(i)}}}function kne(s){if(s.key!=="expression")return;let{parent:e}=s;return e.type==="ExpressionStatement"&&e.directive}function jT(s){return s.toLowerCase()}function z5({pattern:s,flags:e}){return e=[...e].sort().join(""),`/${s}/${e}`}function U5(s,e){let t=s.slice(1,-1);if(t.includes('"')||t.includes("'"))return s;let i=e.singleQuote?"'":'"';return i+t+i}function Ene(s,e,t){let i=s.originalText.slice(e,t);for(let n of s[Symbol.for("comments")]){let o=Ln(n);if(o>t)break;let r=oi(n);if(r s.type==="ExportDefaultDeclaration"||s.type==="DeclareExportDeclaration"&&s.default;function uV(s,e,t){let{node:i}=s,n=[oie(s,e,t),or(s),"export",cV(i)?" default":""],{declaration:o,exported:r}=i;return Re(i,Ze.Dangling)&&(n.push(" ",gn(s,e)),AW(i)&&n.push(Se)),o?n.push(" ",t("declaration")):(n.push(Ane(i)),i.type==="ExportAllDeclaration"||i.type==="DeclareExportAllDeclaration"?(n.push(" *"),r&&n.push(" as ",t("exported"))):n.push(fV(s,e,t)),n.push(gV(s,e,t),mV(s,e,t))),n.push(Nne(i,e)),n}var Tne=wi(["ClassDeclaration","ComponentDeclaration","FunctionDeclaration","TSInterfaceDeclaration","DeclareClass","DeclareComponent","DeclareFunction","DeclareHook","HookDeclaration","TSDeclareFunction","EnumDeclaration"]);function Nne(s,e){return e.semi&&(!s.declaration||cV(s)&&!Tne(s.declaration))?";":""}function MP(s,e=!0){return s&&s!=="value"?`${e?" ":""}${s}${e?"":" "}`:""}function hV(s,e){return MP(s.importKind,e)}function Ane(s){return MP(s.exportKind)}function gV(s,e,t){let{node:i}=s;if(!i.source)return"";let n=[];return pV(i,e)&&n.push(" from"),n.push(" ",t("source")),n}function fV(s,e,t){let{node:i}=s;if(!pV(i,e))return"";let n=[" "];if(mi(i.specifiers)){let o=[],r=[];s.each(()=>{let a=s.node.type;if(a==="ExportNamespaceSpecifier"||a==="ExportDefaultSpecifier"||a==="ImportNamespaceSpecifier"||a==="ImportDefaultSpecifier")o.push(t());else if(a==="ExportSpecifier"||a==="ImportSpecifier")r.push(t());else throw new t0(i,"specifier")},"specifiers"),n.push(si(", ",o)),r.length>0&&(o.length>0&&n.push(", "),r.length>1||o.length>0||i.specifiers.some(a=>Re(a))?n.push(re(["{",Le([e.bracketSpacing?Ue:be,si([",",Ue],r)]),Rt(Xc(e)?",":""),e.bracketSpacing?Ue:be,"}"])):n.push(["{",e.bracketSpacing?" ":"",...r,e.bracketSpacing?" ":"","}"]))}else n.push("{}");return n}function pV(s,e){return s.type!=="ImportDeclaration"||mi(s.specifiers)||s.importKind==="type"?!0:dV(e,Ln(s),Ln(s.source)).trimEnd().endsWith("from")}function Mne(s,e){var t,i;if((t=s.extra)!=null&&t.deprecatedAssertSyntax)return"assert";let n=dV(e,oi(s.source),(i=s.attributes)!=null&&i[0]?Ln(s.attributes[0]):oi(s)).trimStart();return n.startsWith("assert")?"assert":n.startsWith("with")||mi(s.attributes)?"with":void 0}function mV(s,e,t){let{node:i}=s;if(!i.source)return"";let n=Mne(i,e);if(!n)return"";let o=[` ${n} {`];return mi(i.attributes)&&(e.bracketSpacing&&o.push(" "),o.push(si(", ",s.map(t,"attributes"))),e.bracketSpacing&&o.push(" ")),o.push("}"),o}function Rne(s,e,t){let{node:i}=s,{type:n}=i,o=n.startsWith("Import"),r=o?"imported":"local",a=o?"local":"exported",l=i[r],d=i[a],c="",u="";return n==="ExportNamespaceSpecifier"||n==="ImportNamespaceSpecifier"?c="*":l&&(c=t(r)),d&&!Pne(i)&&(u=t(a)),[MP(n==="ImportSpecifier"?i.importKind:i.exportKind,!1),c,c&&u?" as ":"",u]}function Pne(s){if(s.type!=="ImportSpecifier"&&s.type!=="ExportSpecifier")return!1;let{local:e,[s.type==="ImportSpecifier"?"imported":"exported"]:t}=s;if(e.type!==t.type||!OQ(e,t))return!1;if(sr(e))return e.value===t.value&&fa(e)===fa(t);switch(e.type){case"Identifier":return e.name===t.name;default:return!1}}function VL(s,e,t){var i;let n=e.semi?";":"",{node:o}=s,r=o.type==="ObjectTypeAnnotation",a=o.type==="TSEnumDeclaration"||o.type==="EnumBooleanBody"||o.type==="EnumNumberBody"||o.type==="EnumBigIntBody"||o.type==="EnumStringBody"||o.type==="EnumSymbolBody",l=[o.type==="TSTypeLiteral"||a?"members":o.type==="TSInterfaceBody"?"body":"properties"];r&&l.push("indexers","callProperties","internalSlots");let d=l.flatMap(D=>s.map(({node:L})=>({node:L,printed:t(),loc:Ln(L)}),D));l.length>1&&d.sort((D,L)=>D.loc-L.loc);let{parent:c,key:u}=s,h=r&&u==="body"&&(c.type==="InterfaceDeclaration"||c.type==="DeclareInterface"||c.type==="DeclareClass"),g=o.type==="TSInterfaceBody"||a||h||o.type==="ObjectPattern"&&c.type!=="FunctionDeclaration"&&c.type!=="FunctionExpression"&&c.type!=="ArrowFunctionExpression"&&c.type!=="ObjectMethod"&&c.type!=="ClassMethod"&&c.type!=="ClassPrivateMethod"&&c.type!=="AssignmentPattern"&&c.type!=="CatchClause"&&o.properties.some(D=>D.value&&(D.value.type==="ObjectPattern"||D.value.type==="ArrayPattern"))||o.type!=="ObjectPattern"&&e.objectWrap==="preserve"&&d.length>0&&wh(e.originalText,Ln(o),d[0].loc),f=h?";":o.type==="TSInterfaceBody"||o.type==="TSTypeLiteral"?Rt(n,";"):",",m=o.type==="RecordExpression"?"#{":o.exact?"{|":"{",_=o.exact?"|}":"}",v=[],b=d.map(D=>{let L=[...v,re(D.printed)];return v=[f,Ue],(D.node.type==="TSPropertySignature"||D.node.type==="TSMethodSignature"||D.node.type==="TSConstructSignatureDeclaration"||D.node.type==="TSCallSignatureDeclaration")&&Re(D.node,Ze.PrettierIgnore)&&v.shift(),Yc(D.node,e)&&v.push(Se),L});if(o.inexact||o.hasUnknownMembers){let D;if(Re(o,Ze.Dangling)){let L=Re(o,Ze.Line);D=[gn(s,e),L||Ar(e.originalText,oi(Si(!1,Dm(o),-1)))?Se:Ue,"..."]}else D=["..."];b.push([...v,...D])}let C=(i=Si(!1,d,-1))==null?void 0:i.node,w=!(o.inexact||o.hasUnknownMembers||C&&(C.type==="RestElement"||(C.type==="TSPropertySignature"||C.type==="TSCallSignatureDeclaration"||C.type==="TSMethodSignature"||C.type==="TSConstructSignatureDeclaration")&&Re(C,Ze.PrettierIgnore))),y;if(b.length===0){if(!Re(o,Ze.Dangling))return[m,_,Hs(s,t)];y=re([m,gn(s,e,{indent:!0}),be,_,ko(s),Hs(s,t)])}else y=[h&&mi(o.properties)?pne(c):"",m,Le([e.bracketSpacing?Ue:be,...b]),Rt(w&&(f!==","||Xc(e))?f:""),e.bracketSpacing?Ue:be,_,ko(s),Hs(s,t)];return s.match(D=>D.type==="ObjectPattern"&&!mi(D.decorators),xE)||_h(o)&&(s.match(void 0,(D,L)=>L==="typeAnnotation",(D,L)=>L==="typeAnnotation",xE)||s.match(void 0,(D,L)=>D.type==="FunctionTypeParam"&&L==="typeAnnotation",xE))||!g&&s.match(D=>D.type==="ObjectPattern",D=>D.type==="AssignmentExpression"||D.type==="VariableDeclarator")?y:re(y,{shouldBreak:g})}function xE(s,e){return(e==="params"||e==="parameters"||e==="this"||e==="rest")&&SH(s)}function Fne(s){let e=[s];for(let t=0;t h[I]===i),f=h.type===i.type&&!g,m,_,v=0;do _=m||i,m=s.getParentNode(v),v++;while(m&&m.type===i.type&&a.every(I=>m[I]!==_));let b=m||h,C=_;if(n&&(bs(i[a[0]])||bs(l)||bs(d)||Fne(C))){u=!0,f=!0;let I=R=>[Rt("("),Le([be,R]),be,Rt(")")],O=R=>R.type==="NullLiteral"||R.type==="Literal"&&R.value===null||R.type==="Identifier"&&R.name==="undefined";c.push(" ? ",O(l)?t(o):I(t(o))," : ",d.type===i.type||O(d)?t(r):I(t(r)))}else{let I=R=>e.useTabs?Le(t(R)):gd(2,t(R)),O=[Ue,"? ",l.type===i.type?Rt("","("):"",I(o),l.type===i.type?Rt("",")"):"",Ue,": ",I(r)];c.push(h.type!==i.type||h[r]===i||g?O:e.useTabs?BW(Le(O)):gd(Math.max(0,e.tabWidth-2),O))}let w=[o,r,...a].some(I=>Re(i[I],O=>Ca(O)&&wh(e.originalText,Ln(O),oi(O)))),y=I=>h===b?re(I,{shouldBreak:w}):w?[I,fd]:I,D=!u&&(Rn(h)||h.type==="NGPipeExpression"&&h.left===i)&&!h.computed,L=Wne(s),k=y([One(s,e,t),f?c:Le(c),n&&D&&!L?be:""]);return g||L?re([Le([be,k]),be]):k}function Vne(s,e){return(Rn(e)||e.type==="NGPipeExpression"&&e.left===s)&&!e.computed}function zne(s,e,t,i){return[...s.map(n=>Dm(n)),Dm(e),Dm(t)].flat().some(n=>Ca(n)&&wh(i.originalText,Ln(n),oi(n)))}var Une=new Map([["AssignmentExpression","right"],["VariableDeclarator","init"],["ReturnStatement","argument"],["ThrowStatement","argument"],["UnaryExpression","argument"],["YieldExpression","argument"],["AwaitExpression","argument"]]);function $ne(s){let{node:e}=s;if(e.type!=="ConditionalExpression")return!1;let t,i=e;for(let n=0;!t;n++){let o=s.getParentNode(n);if(o.type==="ChainExpression"&&o.expression===i||ui(o)&&o.callee===i||Rn(o)&&o.object===i||o.type==="TSNonNullExpression"&&o.expression===i){i=o;continue}o.type==="NewExpression"&&o.callee===i||Xl(o)&&o.expression===i?(t=s.getParentNode(n+1),i=o):t=o}return i===e?!1:t[Une.get(t.type)]===i}var kE=s=>[Rt("("),Le([be,s]),be,Rt(")")];function RP(s,e,t,i){if(!e.experimentalTernaries)return Hne(s,e,t);let{node:n}=s,o=n.type==="ConditionalExpression",r=Ch(n),a=o?"consequent":"trueType",l=o?"alternate":"falseType",d=o?["test"]:["checkType","extendsType"],c=n[a],u=n[l],h=d.map(dn=>n[dn]),{parent:g}=s,f=g.type===n.type,m=f&&d.some(dn=>g[dn]===n),_=f&&g[l]===n,v=c.type===n.type,b=u.type===n.type,C=b||_,w=e.tabWidth>2||e.useTabs,y,D,L=0;do D=y||n,y=s.getParentNode(L),L++;while(y&&y.type===n.type&&d.every(dn=>y[dn]!==D));let k=y||g,I=i&&i.assignmentLayout&&i.assignmentLayout!=="break-after-operator"&&(g.type==="AssignmentExpression"||g.type==="VariableDeclarator"||g.type==="ClassProperty"||g.type==="PropertyDefinition"||g.type==="ClassPrivateProperty"||g.type==="ObjectProperty"||g.type==="Property"),O=(g.type==="ReturnStatement"||g.type==="ThrowStatement")&&!(v||b),R=o&&k.type==="JSXExpressionContainer"&&s.grandparent.type!=="JSXAttribute",P=$ne(s),F=Vne(n,g),V=r&&ip(s,e),U=w?e.useTabs?" ":" ".repeat(e.tabWidth-1):"",J=zne(h,c,u,e)||v||b,pe=!C&&!f&&!r&&(R?c.type==="NullLiteral"||c.type==="Literal"&&c.value===null:vP(c,e)&&y5(n.test,3)),De=C||_||r&&!f||f&&o&&y5(n.test,1)||pe,ge=[];!v&&Re(c,Ze.Dangling)&&s.call(dn=>{ge.push(gn(dn,e),Se)},"consequent");let We=[];Re(n.test,Ze.Dangling)&&s.call(dn=>{We.push(gn(dn,e))},"test"),!b&&Re(u,Ze.Dangling)&&s.call(dn=>{We.push(gn(dn,e))},"alternate"),Re(n,Ze.Dangling)&&We.push(gn(s,e));let ye=Symbol("test"),ve=Symbol("consequent"),ce=Symbol("test-and-consequent"),Qt=o?[kE(t("test")),n.test.type==="ConditionalExpression"?fd:""]:[t("checkType")," ","extends"," ",Ch(n.extendsType)||n.extendsType.type==="TSMappedType"?t("extendsType"):re(kE(t("extendsType")))],Ui=re([Qt," ?"],{id:ye}),Gi=t(a),St=Le([v||R&&(bs(c)||f||C)?Se:Ue,ge,Gi]),tn=De?re([Ui,C?St:Rt(St,re(St,{id:ve}),{groupId:ye})],{id:ce}):[Ui,St],Pn=t(l),ln=pe?Rt(Pn,BW(kE(Pn)),{groupId:ce}):Pn,$e=[tn,We.length>0?[Le([Se,We]),Se]:b?Se:pe?Rt(Ue," ",{groupId:ce}):Ue,":",b?" ":w?De?Rt(U,Rt(C||pe?" ":U," "),{groupId:ce}):Rt(U," "):" ",b?ln:re([Le(ln),R&&!pe?be:""]),F&&!P?be:"",J?fd:""];return I&&!J?re(Le([be,re($e)])):I||O?re(Le($e)):P||r&&m?re([Le([be,$e]),V?be:""]):g===k?re($e):$e}function jne(s,e,t,i){let{node:n}=s;if(mP(n))return xne(s,e);let o=e.semi?";":"",r=[];switch(n.type){case"JsExpressionRoot":return t("node");case"JsonRoot":return[t("node"),Se];case"File":return Lne(s,e,t)??t("program");case"EmptyStatement":return"";case"ExpressionStatement":return Dne(s,e,t);case"ChainExpression":return t("expression");case"ParenthesizedExpression":return!Re(n.expression)&&(il(n.expression)||zs(n.expression))?["(",t("expression"),")"]:re(["(",Le([be,t("expression")]),be,")"]);case"AssignmentExpression":return _ie(s,e,t);case"VariableDeclarator":return vie(s,e,t);case"BinaryExpression":case"LogicalExpression":return hH(s,e,t);case"AssignmentPattern":return[t("left")," = ",t("right")];case"OptionalMemberExpression":case"MemberExpression":return fie(s,e,t);case"MetaProperty":return[t("meta"),".",t("property")];case"BindExpression":return n.object&&r.push(t("object")),r.push(re(Le([be,WH(s,e,t)]))),r;case"Identifier":return[n.name,ko(s),BH(s),Hs(s,t)];case"V8IntrinsicIdentifier":return["%",n.name];case"SpreadElement":case"SpreadElementPattern":case"SpreadPropertyPattern":case"RestElement":return HH(s,t);case"FunctionDeclaration":case"FunctionExpression":return $H(s,t,e,i);case"ArrowFunctionExpression":return tne(s,e,t,i);case"YieldExpression":return r.push("yield"),n.delegate&&r.push("*"),n.argument&&r.push(" ",t("argument")),r;case"AwaitExpression":if(r.push("await"),n.argument){r.push(" ",t("argument"));let{parent:a}=s;if(ui(a)&&a.callee===n||Rn(a)&&a.object===n){r=[Le([be,...r]),be];let l=s.findAncestor(d=>d.type==="AwaitExpression"||d.type==="BlockStatement");if((l==null?void 0:l.type)!=="AwaitExpression"||!Co(l.argument,d=>d===n))return re(r)}}return r;case"ExportDefaultDeclaration":case"ExportNamedDeclaration":case"ExportAllDeclaration":return uV(s,e,t);case"ImportDeclaration":return Ine(s,e,t);case"ImportSpecifier":case"ExportSpecifier":case"ImportNamespaceSpecifier":case"ExportNamespaceSpecifier":case"ImportDefaultSpecifier":case"ExportDefaultSpecifier":return Rne(s,e,t);case"ImportAttribute":return SE(s,e,t);case"Program":case"BlockStatement":case"StaticBlock":return ZH(s,e,t);case"ClassBody":return vne(s,e,t);case"ThrowStatement":return Jie(s,e,t);case"ReturnStatement":return Qie(s,e,t);case"NewExpression":case"ImportExpression":case"OptionalCallExpression":case"CallExpression":return bH(s,e,t);case"ObjectExpression":case"ObjectPattern":case"RecordExpression":return VL(s,e,t);case"Property":return PL(n)?UT(s,e,t):SE(s,e,t);case"ObjectProperty":return SE(s,e,t);case"ObjectMethod":return UT(s,e,t);case"Decorator":return["@",t("expression")];case"ArrayExpression":case"ArrayPattern":case"TupleExpression":return TP(s,e,t);case"SequenceExpression":{let{parent:a}=s;if(a.type==="ExpressionStatement"||a.type==="ForStatement"){let l=[];return s.each(({isFirst:d})=>{d?l.push(t()):l.push(",",Le([Ue,t()]))},"expressions"),re(l)}return re(si([",",Ue],s.map(t,"expressions")))}case"ThisExpression":return"this";case"Super":return"super";case"Directive":return[t("value"),o];case"UnaryExpression":return r.push(n.operator),/[a-z]$/u.test(n.operator)&&r.push(" "),Re(n.argument)?r.push(re(["(",Le([be,t("argument")]),be,")"])):r.push(t("argument")),r;case"UpdateExpression":return[n.prefix?n.operator:"",t("argument"),n.prefix?"":n.operator];case"ConditionalExpression":return RP(s,e,t,i);case"VariableDeclaration":{let a=s.map(t,"declarations"),l=s.parent,d=l.type==="ForStatement"||l.type==="ForInStatement"||l.type==="ForOfStatement",c=n.declarations.some(h=>h.init),u;return a.length===1&&!Re(n.declarations[0])?u=a[0]:a.length>0&&(u=Le(a[0])),r=[or(s),n.kind,u?[" ",u]:"",Le(a.slice(1).map(h=>[",",c&&!d?Se:Ue,h]))],d&&l.body!==n||r.push(o),re(r)}case"WithStatement":return re(["with (",t("object"),")",hu(n.body,t("body"))]);case"IfStatement":{let a=hu(n.consequent,t("consequent")),l=re(["if (",re([Le([be,t("test")]),be]),")",a]);if(r.push(l),n.alternate){let d=Re(n.consequent,Ze.Trailing|Ze.Line)||AW(n),c=n.consequent.type==="BlockStatement"&&!d;r.push(c?" ":Se),Re(n,Ze.Dangling)&&r.push(gn(s,e),d?Se:" "),r.push("else",re(hu(n.alternate,t("alternate"),n.alternate.type==="IfStatement")))}return r}case"ForStatement":{let a=hu(n.body,t("body")),l=gn(s,e),d=l?[l,be]:"";return!n.init&&!n.test&&!n.update?[d,re(["for (;;)",a])]:[d,re(["for (",re([Le([be,t("init"),";",Ue,t("test"),";",Ue,t("update")]),be]),")",a])]}case"WhileStatement":return re(["while (",re([Le([be,t("test")]),be]),")",hu(n.body,t("body"))]);case"ForInStatement":return re(["for (",t("left")," in ",t("right"),")",hu(n.body,t("body"))]);case"ForOfStatement":return re(["for",n.await?" await":""," (",t("left")," of ",t("right"),")",hu(n.body,t("body"))]);case"DoWhileStatement":{let a=hu(n.body,t("body"));return r=[re(["do",a])],n.body.type==="BlockStatement"?r.push(" "):r.push(Se),r.push("while (",re([Le([be,t("test")]),be]),")",o),r}case"DoExpression":return[n.async?"async ":"","do ",t("body")];case"BreakStatement":case"ContinueStatement":return r.push(n.type==="BreakStatement"?"break":"continue"),n.label&&r.push(" ",t("label")),r.push(o),r;case"LabeledStatement":return n.body.type==="EmptyStatement"?[t("label"),":;"]:[t("label"),": ",t("body")];case"TryStatement":return["try ",t("block"),n.handler?[" ",t("handler")]:"",n.finalizer?[" finally ",t("finalizer")]:""];case"CatchClause":if(n.param){let a=Re(n.param,d=>!Ca(d)||d.leading&&Ar(e.originalText,oi(d))||d.trailing&&Ar(e.originalText,Ln(d),{backwards:!0})),l=t("param");return["catch ",a?["(",Le([be,l]),be,") "]:["(",l,") "],t("body")]}return["catch ",t("body")];case"SwitchStatement":return[re(["switch (",Le([be,t("discriminant")]),be,")"])," {",n.cases.length>0?Le([Se,si(Se,s.map(({node:a,isLast:l})=>[t(),!l&&Yc(a,e)?Se:""],"cases"))]):"",Se,"}"];case"SwitchCase":{n.test?r.push("case ",t("test"),":"):r.push("default:"),Re(n,Ze.Dangling)&&r.push(" ",gn(s,e));let a=n.consequent.filter(l=>l.type!=="EmptyStatement");if(a.length>0){let l=$T(s,e,t,"consequent");r.push(a.length===1&&a[0].type==="BlockStatement"?[" ",l]:Le([Se,l]))}return r}case"DebuggerStatement":return["debugger",o];case"ClassDeclaration":case"ClassExpression":return eV(s,e,t);case"ClassMethod":case"ClassPrivateMethod":case"MethodDefinition":return nV(s,e,t);case"ClassProperty":case"PropertyDefinition":case"ClassPrivateProperty":case"ClassAccessorProperty":case"AccessorProperty":return sV(s,e,t);case"TemplateElement":return _f(n.value.raw);case"TemplateLiteral":return iH(s,t,e);case"TaggedTemplateExpression":return kee(s,t);case"PrivateIdentifier":return["#",n.name];case"PrivateName":return["#",t("id")];case"TopicReference":return"%";case"ArgumentPlaceholder":return"?";case"ModuleExpression":return["module ",t("body")];case"InterpreterDirective":default:throw new t0(n,"ESTree")}}function _V(s,e,t){let{parent:i,node:n,key:o}=s,r=[t("expression")];switch(n.type){case"AsConstExpression":r.push(" as const");break;case"AsExpression":case"TSAsExpression":r.push(" as ",t("typeAnnotation"));break;case"SatisfiesExpression":case"TSSatisfiesExpression":r.push(" satisfies ",t("typeAnnotation"));break}return o==="callee"&&ui(i)||o==="object"&&Rn(i)?re([Le([be,...r]),be]):r}function Kne(s,e,t){let{node:i}=s,n=[or(s),"component"];i.id&&n.push(" ",t("id")),n.push(t("typeParameters"));let o=qne(s,t,e);return i.rendersType?n.push(re([o," ",t("rendersType")])):n.push(re([o])),i.body&&n.push(" ",t("body")),e.semi&&i.type==="DeclareComponent"&&n.push(";"),n}function qne(s,e,t){let{node:i}=s,n=i.params;if(i.rest&&(n=[...n,i.rest]),n.length===0)return["(",gn(s,t,{filter:r=>nl(t.originalText,oi(r))===")"}),")"];let o=[];return Zne(s,(r,a)=>{let l=a===n.length-1;l&&i.rest&&o.push("..."),o.push(e()),!l&&(o.push(","),Yc(n[a],t)?o.push(Se,Se):o.push(Ue))}),["(",Le([be,...o]),Rt(Xc(t,"all")&&!Gne(i,n)?",":""),be,")"]}function Gne(s,e){var t;return s.rest||((t=Si(!1,e,-1))==null?void 0:t.type)==="RestElement"}function Zne(s,e){let{node:t}=s,i=0,n=o=>e(o,i++);s.each(n,"params"),t.rest&&s.call(n,"rest")}function Xne(s,e,t){let{node:i}=s;return i.shorthand?t("local"):[t("name")," as ",t("local")]}function Yne(s,e,t){let{node:i}=s,n=[];return i.name&&n.push(t("name"),i.optional?"?: ":": "),n.push(t("typeAnnotation")),n}function vV(s,e,t){return VL(s,t,e)}function bV(s,e){let{node:t}=s,i=e("id");t.computed&&(i=["[",i,"]"]);let n="";return t.initializer&&(n=e("initializer")),t.init&&(n=e("init")),n?[i," = ",n]:i}function Qne(s,e,t){let{node:i}=s,n;if(i.type==="EnumSymbolBody"||i.explicitType)switch(i.type){case"EnumBooleanBody":n="boolean";break;case"EnumNumberBody":n="number";break;case"EnumBigIntBody":n="bigint";break;case"EnumStringBody":n="string";break;case"EnumSymbolBody":n="symbol";break}return[n?`of ${n} `:"",vV(s,e,t)]}function CV(s,e,t){let{node:i}=s;return[or(s),i.const?"const ":"","enum ",e("id")," ",i.type==="TSEnumDeclaration"?vV(s,e,t):e("body")]}function Jne(s,e,t){let{node:i}=s,n=["hook"];i.id&&n.push(" ",t("id"));let o=np(s,t,e,!1,!0),r=HL(s,t),a=i0(i,r);return n.push(re([a?re(o):o,r]),i.body?" ":"",t("body")),n}function ese(s,e,t){let{node:i}=s,n=[or(s),"hook"];return i.id&&n.push(" ",t("id")),e.semi&&n.push(";"),n}function $5(s){var e;let{node:t}=s;return t.type==="HookTypeAnnotation"&&((e=s.getParentNode(2))==null?void 0:e.type)==="DeclareHook"}function tse(s,e,t){let{node:i}=s,n=[];n.push($5(s)?"":"hook ");let o=np(s,t,e,!1,!0),r=[];return r.push($5(s)?": ":" => ",t("returnType")),i0(i,r)&&(o=re(o)),n.push(o,r),re(n)}function wV(s,e,t){let{node:i}=s,n=[or(s),"interface"],o=[],r=[];i.type!=="InterfaceTypeAnnotation"&&o.push(" ",t("id"),t("typeParameters"));let a=i.typeParameters&&!Re(i.typeParameters,Ze.Trailing|Ze.Line);return mi(i.extends)&&r.push(a?Rt(" ",Ue,{groupId:AP(i.typeParameters)}):Ue,"extends ",(i.extends.length===1?dJ:Le)(si([",",Ue],s.map(t,"extends")))),Re(i.id,Ze.Trailing)||mi(i.extends)?a?n.push(re([...o,Le(r)])):n.push(re(Le([...o,...r]))):n.push(...o,...r),n.push(" ",t("body")),re(n)}function ise(s,e,t){let{node:i}=s;if(SW(i))return i.type.slice(0,-14).toLowerCase();let n=e.semi?";":"";switch(i.type){case"ComponentDeclaration":case"DeclareComponent":case"ComponentTypeAnnotation":return Kne(s,e,t);case"ComponentParameter":return Xne(s,e,t);case"ComponentTypeParameter":return Yne(s,e,t);case"HookDeclaration":return Jne(s,e,t);case"DeclareHook":return ese(s,e,t);case"HookTypeAnnotation":return tse(s,e,t);case"DeclareClass":return eV(s,e,t);case"DeclareFunction":return[or(s),"function ",t("id"),t("predicate"),n];case"DeclareModule":return["declare module ",t("id")," ",t("body")];case"DeclareModuleExports":return["declare module.exports",Hs(s,t),n];case"DeclareNamespace":return["declare namespace ",t("id")," ",t("body")];case"DeclareVariable":return[or(s),i.kind??"var"," ",t("id"),n];case"DeclareExportDeclaration":case"DeclareExportAllDeclaration":return uV(s,e,t);case"DeclareOpaqueType":case"OpaqueType":return Oie(s,e,t);case"DeclareTypeAlias":case"TypeAlias":return LH(s,e,t);case"IntersectionTypeAnnotation":return xH(s,e,t);case"UnionTypeAnnotation":return kH(s,e,t);case"ConditionalTypeAnnotation":return RP(s,e,t);case"InferTypeAnnotation":return TH(s,e,t);case"FunctionTypeAnnotation":return EH(s,e,t);case"TupleTypeAnnotation":return TP(s,e,t);case"TupleTypeLabeledElement":return AH(s,e,t);case"TupleTypeSpreadElement":return NH(s,e,t);case"GenericTypeAnnotation":return[t("id"),Wv(s,e,t,"typeParameters")];case"IndexedAccessType":case"OptionalIndexedAccessType":return IH(s,e,t);case"TypeAnnotation":return RH(s,e,t);case"TypeParameter":return QH(s,e,t);case"TypeofTypeAnnotation":return FH(s,t);case"ExistsTypeAnnotation":return"*";case"ArrayTypeAnnotation":return PH(t);case"DeclareEnum":case"EnumDeclaration":return CV(s,t,e);case"EnumBooleanBody":case"EnumNumberBody":case"EnumBigIntBody":case"EnumStringBody":case"EnumSymbolBody":return Qne(s,t,e);case"EnumBooleanMember":case"EnumNumberMember":case"EnumBigIntMember":case"EnumStringMember":case"EnumDefaultedMember":return bV(s,t);case"FunctionTypeParam":{let o=i.name?t("name"):s.parent.this===i?"this":"";return[o,ko(s),o?": ":"",t("typeAnnotation")]}case"DeclareInterface":case"InterfaceDeclaration":case"InterfaceTypeAnnotation":return wV(s,e,t);case"ClassImplements":case"InterfaceExtends":return[t("id"),t("typeParameters")];case"NullableTypeAnnotation":return["?",t("typeAnnotation")];case"Variance":{let{kind:o}=i;return fP.ok(o==="plus"||o==="minus"),o==="plus"?"+":"-"}case"KeyofTypeAnnotation":return["keyof ",t("argument")];case"ObjectTypeCallProperty":return[i.static?"static ":"",t("value")];case"ObjectTypeMappedTypeProperty":return une(s,e,t);case"ObjectTypeIndexer":return[i.static?"static ":"",i.variance?t("variance"):"","[",t("id"),i.id?": ":"",t("key"),"]: ",t("value")];case"ObjectTypeProperty":{let o="";return i.proto?o="proto ":i.static&&(o="static "),[o,i.kind!=="init"?i.kind+" ":"",i.variance?t("variance"):"",r1(s,e,t),ko(s),PL(i)?"":": ",t("value")]}case"ObjectTypeAnnotation":return VL(s,e,t);case"ObjectTypeInternalSlot":return[i.static?"static ":"","[[",t("id"),"]]",ko(s),i.method?"":": ",t("value")];case"ObjectTypeSpreadProperty":return HH(s,t);case"QualifiedTypeofIdentifier":case"QualifiedTypeIdentifier":return[t("qualification"),".",t("id")];case"NullLiteralTypeAnnotation":return"null";case"BooleanLiteralTypeAnnotation":return String(i.value);case"StringLiteralTypeAnnotation":return _f(t_(fa(i),e));case"NumberLiteralTypeAnnotation":return n_(i.raw??i.extra.raw);case"BigIntLiteralTypeAnnotation":return jT(i.raw??i.extra.raw);case"TypeCastExpression":return["(",t("expression"),Hs(s,t),")"];case"TypePredicate":return OH(s,t);case"TypeOperator":return[i.operator," ",t("typeAnnotation")];case"TypeParameterDeclaration":case"TypeParameterInstantiation":return Wv(s,e,t,"params");case"InferredPredicate":case"DeclaredPredicate":return[s.key==="predicate"&&s.parent.type!=="DeclareFunction"&&!s.parent.returnType?": ":" ","%checks",...i.type==="DeclaredPredicate"?["(",t("value"),")"]:[]];case"AsExpression":case"AsConstExpression":case"SatisfiesExpression":return _V(s,e,t)}}function nse(s,e,t){var i;let{node:n}=s;if(!n.type.startsWith("TS"))return;if(DW(n))return n.type.slice(2,-7).toLowerCase();let o=e.semi?";":"",r=[];switch(n.type){case"TSThisType":return"this";case"TSTypeAssertion":{let a=!(zs(n.expression)||il(n.expression)),l=re(["<",Le([be,t("typeAnnotation")]),be,">"]),d=[Rt("("),Le([be,t("expression")]),be,Rt(")")];return a?qg([[l,t("expression")],[l,re(d,{shouldBreak:!0})],[l,t("expression")]]):re([l,t("expression")])}case"TSDeclareFunction":return $H(s,t,e);case"TSExportAssignment":return["export = ",t("expression"),o];case"TSModuleBlock":return ZH(s,e,t);case"TSInterfaceBody":case"TSTypeLiteral":return VL(s,e,t);case"TSTypeAliasDeclaration":return LH(s,e,t);case"TSQualifiedName":return[t("left"),".",t("right")];case"TSAbstractMethodDefinition":case"TSDeclareMethod":return nV(s,e,t);case"TSAbstractAccessorProperty":case"TSAbstractPropertyDefinition":return sV(s,e,t);case"TSInterfaceHeritage":case"TSClassImplements":case"TSExpressionWithTypeArguments":case"TSInstantiationExpression":return[t("expression"),t(n.typeArguments?"typeArguments":"typeParameters")];case"TSTemplateLiteralType":return iH(s,t,e);case"TSNamedTupleMember":return AH(s,e,t);case"TSRestType":return NH(s,e,t);case"TSOptionalType":return[t("typeAnnotation"),"?"];case"TSInterfaceDeclaration":return wV(s,e,t);case"TSTypeParameterDeclaration":case"TSTypeParameterInstantiation":return Wv(s,e,t,"params");case"TSTypeParameter":return QH(s,e,t);case"TSAsExpression":case"TSSatisfiesExpression":return _V(s,e,t);case"TSArrayType":return PH(t);case"TSPropertySignature":return[n.readonly?"readonly ":"",r1(s,e,t),ko(s),Hs(s,t)];case"TSParameterProperty":return[LS(n),n.static?"static ":"",n.override?"override ":"",n.readonly?"readonly ":"",t("parameter")];case"TSTypeQuery":return FH(s,t);case"TSIndexSignature":{let a=n.parameters.length>1?Rt(Xc(e)?",":""):"",l=re([Le([be,si([", ",be],s.map(t,"parameters"))]),a,be]),d=s.parent.type==="ClassBody"&&s.key==="body";return[d&&n.static?"static ":"",n.readonly?"readonly ":"","[",n.parameters?l:"","]",Hs(s,t),d?o:""]}case"TSTypePredicate":return OH(s,t);case"TSNonNullExpression":return[t("expression"),"!"];case"TSImportType":return["import(",t("argument"),")",n.qualifier?[".",t("qualifier")]:"",Wv(s,e,t,n.typeArguments?"typeArguments":"typeParameters")];case"TSLiteralType":return t("literal");case"TSIndexedAccessType":return IH(s,e,t);case"TSTypeOperator":return[n.operator," ",t("typeAnnotation")];case"TSMappedType":return hne(s,e,t);case"TSMethodSignature":{let a=n.kind&&n.kind!=="method"?`${n.kind} `:"";r.push(LS(n),a,n.computed?"[":"",t("key"),n.computed?"]":"",ko(s));let l=np(s,t,e,!1,!0),d=n.returnType?"returnType":"typeAnnotation",c=n[d],u=c?Hs(s,t,d):"",h=i0(n,u);return r.push(h?re(l):l),c&&r.push(re(u)),re(r)}case"TSNamespaceExportDeclaration":return["export as namespace ",t("id"),e.semi?";":""];case"TSEnumDeclaration":return CV(s,t,e);case"TSEnumMember":return bV(s,t);case"TSImportEqualsDeclaration":return[n.isExport?"export ":"","import ",hV(n,!1),t("id")," = ",t("moduleReference"),e.semi?";":""];case"TSExternalModuleReference":return["require(",t("expression"),")"];case"TSModuleDeclaration":{let{parent:a}=s,l=a.type==="TSModuleDeclaration",d=((i=n.body)==null?void 0:i.type)==="TSModuleDeclaration";return l?r.push("."):(r.push(or(s)),n.kind!=="global"&&r.push(n.kind," ")),r.push(t("id")),d?r.push(t("body")):n.body?r.push(" ",re(t("body"))):r.push(o),r}case"TSConditionalType":return RP(s,e,t);case"TSInferType":return TH(s,e,t);case"TSIntersectionType":return xH(s,e,t);case"TSUnionType":return kH(s,e,t);case"TSFunctionType":case"TSCallSignatureDeclaration":case"TSConstructorType":case"TSConstructSignatureDeclaration":return EH(s,e,t);case"TSTupleType":return TP(s,e,t);case"TSTypeReference":return[t("typeName"),Wv(s,e,t,n.typeArguments?"typeArguments":"typeParameters")];case"TSTypeAnnotation":return RH(s,e,t);case"TSEmptyBodyFunctionExpression":return NP(s,e,t);case"TSJSDocAllType":return"*";case"TSJSDocUnknownType":return"?";case"TSJSDocNullableType":return H5(s,t,"?");case"TSJSDocNonNullableType":return H5(s,t,"!");case"TSParenthesizedType":default:throw new t0(n,"TypeScript")}}function sse(s,e,t,i){if(uH(s))return bte(s,e);for(let n of[iie,Zte,ise,nse,jne]){let o=n(s,e,t,i);if(o!==void 0)return o}}var ose=wi(["ClassMethod","ClassPrivateMethod","ClassProperty","ClassAccessorProperty","AccessorProperty","TSAbstractAccessorProperty","PropertyDefinition","TSAbstractPropertyDefinition","ClassPrivateProperty","MethodDefinition","TSAbstractMethodDefinition","TSDeclareMethod"]);function rse(s,e,t,i){var n;s.isRoot&&((n=e.__onHtmlBindingRoot)==null||n.call(e,s.node,e));let o=sse(s,e,t,i);if(!o)return"";let{node:r}=s;if(ose(r))return o;let a=mi(r.decorators),l=rie(s,e,t),d=r.type==="ClassExpression";if(a&&!d)return MT(o,h=>re([l,h]));let c=ip(s,e),u=Sne(s,e);return!l&&!c&&!u?o:MT(o,h=>[u?";":"",c?"(":"",c&&d&&a?[Le([Ue,l,h]),Ue]:[l,h],c?")":""])}var ase=rse,lse={avoidAstMutation:!0},dse=[{linguistLanguageId:174,name:"JSON.stringify",type:"data",color:"#292929",tmScope:"source.json",aceMode:"json",codemirrorMode:"javascript",codemirrorMimeType:"application/json",aliases:["geojson","jsonl","topojson"],extensions:[".importmap"],filenames:["package.json","package-lock.json","composer.json"],parsers:["json-stringify"],vscodeLanguageIds:["json"]},{linguistLanguageId:174,name:"JSON",type:"data",color:"#292929",tmScope:"source.json",aceMode:"json",codemirrorMode:"javascript",codemirrorMimeType:"application/json",aliases:["geojson","jsonl","topojson"],extensions:[".json",".4DForm",".4DProject",".avsc",".geojson",".gltf",".har",".ice",".JSON-tmLanguage",".mcmeta",".tfstate",".tfstate.backup",".topojson",".webapp",".webmanifest",".yy",".yyp"],filenames:[".all-contributorsrc",".arcconfig",".auto-changelog",".c8rc",".htmlhintrc",".imgbotconfig",".nycrc",".tern-config",".tern-project",".watchmanconfig","Pipfile.lock","composer.lock","flake.lock","mcmod.info",".babelrc",".jscsrc",".jshintrc",".jslintrc",".swcrc"],parsers:["json"],vscodeLanguageIds:["json"]},{linguistLanguageId:423,name:"JSON with Comments",type:"data",color:"#292929",group:"JSON",tmScope:"source.js",aceMode:"javascript",codemirrorMode:"javascript",codemirrorMimeType:"text/javascript",aliases:["jsonc"],extensions:[".jsonc",".code-snippets",".code-workspace",".sublime-build",".sublime-commands",".sublime-completions",".sublime-keymap",".sublime-macro",".sublime-menu",".sublime-mousemap",".sublime-project",".sublime-settings",".sublime-theme",".sublime-workspace",".sublime_metrics",".sublime_session"],filenames:[],parsers:["jsonc"],vscodeLanguageIds:["jsonc"]},{linguistLanguageId:175,name:"JSON5",type:"data",color:"#267CB9",extensions:[".json5"],tmScope:"source.js",aceMode:"javascript",codemirrorMode:"javascript",codemirrorMimeType:"application/json",parsers:["json5"],vscodeLanguageIds:["json5"]}],yV={};ML(yV,{getVisitorKeys:()=>gse,massageAstNode:()=>SV,print:()=>fse});var cse={JsonRoot:["node"],ArrayExpression:["elements"],ObjectExpression:["properties"],ObjectProperty:["key","value"],UnaryExpression:["argument"],NullLiteral:[],BooleanLiteral:[],StringLiteral:[],NumericLiteral:[],Identifier:[],TemplateLiteral:["quasis"],TemplateElement:[]},use=cse,hse=wW(use),gse=hse;function fse(s,e,t){let{node:i}=s;switch(i.type){case"JsonRoot":return[t("node"),Se];case"ArrayExpression":{if(i.elements.length===0)return"[]";let n=s.map(()=>s.node===null?"null":t(),"elements");return["[",Le([Se,si([",",Se],n)]),Se,"]"]}case"ObjectExpression":return i.properties.length===0?"{}":["{",Le([Se,si([",",Se],s.map(t,"properties"))]),Se,"}"];case"ObjectProperty":return[t("key"),": ",t("value")];case"UnaryExpression":return[i.operator==="+"?"":i.operator,t("argument")];case"NullLiteral":return"null";case"BooleanLiteral":return i.value?"true":"false";case"StringLiteral":return JSON.stringify(i.value);case"NumericLiteral":return j5(s)?JSON.stringify(String(i.value)):JSON.stringify(i.value);case"Identifier":return j5(s)?JSON.stringify(i.name):i.name;case"TemplateLiteral":return t(["quasis",0]);case"TemplateElement":return JSON.stringify(i.value.cooked);default:throw new t0(i,"JSON")}}function j5(s){return s.key==="key"&&s.parent.type==="ObjectProperty"}var pse=new Set(["start","end","extra","loc","comments","leadingComments","trailingComments","innerComments","errors","range","tokens"]);function SV(s,e){let{type:t}=s;if(t==="ObjectProperty"){let{key:i}=s;i.type==="Identifier"?e.key={type:"StringLiteral",value:i.name}:i.type==="NumericLiteral"&&(e.key={type:"StringLiteral",value:String(i.value)});return}if(t==="UnaryExpression"&&s.operator==="+")return e.argument;if(t==="ArrayExpression"){for(let[i,n]of s.elements.entries())n===null&&e.elements.splice(i,0,{type:"NullLiteral"});return}if(t==="TemplateLiteral")return{type:"StringLiteral",value:s.quasis[0].value.cooked}}SV.ignoredProperties=pse;var A0={bracketSpacing:{category:"Common",type:"boolean",default:!0,description:"Print spaces between brackets.",oppositeDescription:"Do not print spaces between brackets."},objectWrap:{category:"Common",type:"choice",default:"preserve",description:"How to wrap object literals.",choices:[{value:"preserve",description:"Keep as multi-line, if there is a newline between the opening brace and first property."},{value:"collapse",description:"Fit to a single line when possible."}]},singleQuote:{category:"Common",type:"boolean",default:!1,description:"Use single quotes instead of double quotes."},bracketSameLine:{category:"Common",type:"boolean",default:!1,description:"Put > of opening tags on the last line instead of on a new line."},singleAttributePerLine:{category:"Common",type:"boolean",default:!1,description:"Enforce single attribute per line in HTML, Vue and JSX."}},gu="JavaScript",mse={arrowParens:{category:gu,type:"choice",default:"always",description:"Include parentheses around a sole arrow function parameter.",choices:[{value:"always",description:"Always include parens. Example: `(x) => x`"},{value:"avoid",description:"Omit parens when possible. Example: `x => x`"}]},bracketSameLine:A0.bracketSameLine,objectWrap:A0.objectWrap,bracketSpacing:A0.bracketSpacing,jsxBracketSameLine:{category:gu,type:"boolean",description:"Put > on the last line instead of at a new line.",deprecated:"2.4.0"},semi:{category:gu,type:"boolean",default:!0,description:"Print semicolons.",oppositeDescription:"Do not print semicolons, except at the beginning of lines which may need them."},experimentalOperatorPosition:{category:gu,type:"choice",default:"end",description:"Where to print operators when binary expressions wrap lines.",choices:[{value:"start",description:"Print operators at the start of new lines."},{value:"end",description:"Print operators at the end of previous lines."}]},experimentalTernaries:{category:gu,type:"boolean",default:!1,description:"Use curious ternaries, with the question mark after the condition.",oppositeDescription:"Default behavior of ternaries; keep question marks on the same line as the consequent."},singleQuote:A0.singleQuote,jsxSingleQuote:{category:gu,type:"boolean",default:!1,description:"Use single quotes in JSX."},quoteProps:{category:gu,type:"choice",default:"as-needed",description:"Change when properties in objects are quoted.",choices:[{value:"as-needed",description:"Only add quotes around object properties where required."},{value:"consistent",description:"If at least one property in an object requires quotes, quote all properties."},{value:"preserve",description:"Respect the input use of quotes in object properties."}]},trailingComma:{category:gu,type:"choice",default:"all",description:"Print trailing commas wherever possible when multi-line.",choices:[{value:"all",description:"Trailing commas wherever possible (including function arguments)."},{value:"es5",description:"Trailing commas where valid in ES5 (objects, arrays, etc.)"},{value:"none",description:"No trailing commas."}]},singleAttributePerLine:A0.singleAttributePerLine},_se=mse,vse={estree:vW,"estree-json":yV},bse=[...cQ,...dse],Cse=_W;function mr(s,e=0){return s[s.length-(1+e)]}function wse(s){if(s.length===0)throw new Error("Invalid tail call");return[s.slice(0,s.length-1),s[s.length-1]]}function Ci(s,e,t=(i,n)=>i===n){if(s===e)return!0;if(!s||!e||s.length!==e.length)return!1;for(let i=0,n=s.length;i t(s[i],e))}function Sse(s,e){let t=0,i=s-1;for(;t<=i;){const n=(t+i)/2|0,o=e(n);if(o<0)t=n+1;else if(o>0)i=n-1;else return n}return-(t+1)}function KT(s,e,t){if(s=s|0,s>=e.length)throw new TypeError("invalid index");const i=e[Math.floor(e.length*Math.random())],n=[],o=[],r=[];for(const a of e){const l=t(a,i);l<0?n.push(a):l>0?o.push(a):r.push(a)}return s !!e)}function q5(s){let e=0;for(let t=0;t 0}function Wc(s,e=t=>t){const t=new Set;return s.filter(i=>{const n=e(i);return t.has(n)?!1:(t.add(n),!0)})}function FP(s,e){return s.length>0?s[0]:e}function to(s,e){let t=typeof e=="number"?s:0;typeof e=="number"?t=s:(t=0,e=s);const i=[];if(t<=e)for(let n=t;n e;n--)i.push(n);return i}function zL(s,e,t){const i=s.slice(0,e),n=s.slice(e);return i.concat(t,n)}function EE(s,e){const t=s.indexOf(e);t>-1&&(s.splice(t,1),s.unshift(e))}function aw(s,e){const t=s.indexOf(e);t>-1&&(s.splice(t,1),s.push(e))}function qT(s,e){for(const t of e)s.push(t)}function OP(s){return Array.isArray(s)?s:[s]}function Lse(s,e,t){const i=xV(s,e),n=s.length,o=t.length;s.length=n+o;for(let r=n-1;r>=i;r--)s[r+o]=s[r];for(let r=0;r 0}s.isGreaterThan=i;function n(o){return o===0}s.isNeitherLessOrGreaterThan=n,s.greaterThan=1,s.lessThan=-1,s.neitherLessOrGreaterThan=0})(kb||(kb={}));function ao(s,e){return(t,i)=>e(s(t),s(i))}function xse(...s){return(e,t)=>{for(const i of s){const n=i(e,t);if(!kb.isNeitherLessOrGreaterThan(n))return n}return kb.neitherLessOrGreaterThan}}const ua=(s,e)=>s-e,kse=(s,e)=>ua(s?1:0,e?1:0);function kV(s){return(e,t)=>-s(e,t)}class Hc{constructor(e){this.items=e,this.firstIdx=0,this.lastIdx=this.items.length-1}get length(){return this.lastIdx-this.firstIdx+1}takeWhile(e){let t=this.firstIdx;for(;t =0&&e(this.items[t]);)t--;const i=t===this.lastIdx?null:this.items.slice(t+1,this.lastIdx+1);return this.lastIdx=t,i}peek(){if(this.length!==0)return this.items[this.firstIdx]}dequeue(){const e=this.items[this.firstIdx];return this.firstIdx++,e}takeCount(e){const t=this.items.slice(this.firstIdx,this.firstIdx+e);return this.firstIdx+=e,t}}class od{constructor(e){this.iterate=e}toArray(){const e=[];return this.iterate(t=>(e.push(t),!0)),e}filter(e){return new od(t=>this.iterate(i=>e(i)?t(i):!0))}map(e){return new od(t=>this.iterate(i=>t(e(i))))}findLast(e){let t;return this.iterate(i=>(e(i)&&(t=i),!0)),t}findLastMaxBy(e){let t,i=!0;return this.iterate(n=>((i||kb.isGreaterThan(e(n,t)))&&(i=!1,t=n),!0)),t}}od.empty=new od(s=>{});class xS{constructor(e){this._indexMap=e}static createSortPermutation(e,t){const i=Array.from(e.keys()).sort((n,o)=>t(e[n],e[o]));return new xS(i)}apply(e){return e.map((t,i)=>e[this._indexMap[i]])}inverse(){const e=this._indexMap.slice();for(let t=0;t "u"}function rd(s){return!Go(s)}function Go(s){return oo(s)||s===null}function yt(s,e){if(!s)throw new Error(e?`Unexpected type, expected '${e}'`:"Unexpected type")}function Ou(s){if(Go(s))throw new Error("Assertion Failed: argument is undefined or null");return s}function kS(s){return typeof s=="function"}function Ise(s,e){const t=Math.min(s.length,e.length);for(let i=0;i {e[t]=i&&typeof i=="object"?Jd(i):i}),e}function Nse(s){if(!s||typeof s!="object")return s;const e=[s];for(;e.length>0;){const t=e.shift();Object.freeze(t);for(const i in t)if(IV.call(t,i)){const n=t[i];typeof n=="object"&&!Object.isFrozen(n)&&!Ese(n)&&e.push(n)}}return s}const IV=Object.prototype.hasOwnProperty;function TV(s,e){return GT(s,e,new Set)}function GT(s,e,t){if(Go(s))return s;const i=e(s);if(typeof i<"u")return i;if(Array.isArray(s)){const n=[];for(const o of s)n.push(GT(o,e,t));return n}if(Ms(s)){if(t.has(s))throw new Error("Cannot clone recursive data-structure");t.add(s);const n={};for(const o in s)IV.call(s,o)&&(n[o]=GT(s[o],e,t));return t.delete(s),n}return s}function UL(s,e,t=!0){return Ms(s)?(Ms(e)&&Object.keys(e).forEach(i=>{i in s?t&&(Ms(s[i])&&Ms(e[i])?UL(s[i],e[i],t):s[i]=e[i]):s[i]=e[i]}),s):e}function tr(s,e){if(s===e)return!0;if(s==null||e===null||e===void 0||typeof s!=typeof e||typeof s!="object"||Array.isArray(s)!==Array.isArray(e))return!1;let t,i;if(Array.isArray(s)){if(s.length!==e.length)return!1;for(t=0;t function(){const o=Array.prototype.slice.call(arguments,0);return e(n,o)},i={};for(const n of s)i[n]=t(n);return i}let Rse=typeof document<"u"&&document.location&&document.location.hash.indexOf("pseudo=true")>=0;function NV(s,e){let t;return e.length===0?t=s:t=s.replace(/\{(\d+)\}/g,(i,n)=>{const o=n[0],r=e[o];let a=i;return typeof r=="string"?a=r:(typeof r=="number"||typeof r=="boolean"||r===void 0||r===null)&&(a=String(r)),a}),Rse&&(t="["+t.replace(/[aouei]/g,"$&$&")+"]"),t}function p(s,e,...t){return NV(e,t)}function Ve(s,e,...t){const i=NV(e,t);return{value:i,original:i}}var IE,TE;const Qp="en";let ES=!1,IS=!1,Ry=!1,AV=!1,WP=!1,HP=!1,MV=!1,lw,Py=Qp,X5=Qp,Pse,Ta;const xc=globalThis;let Ls;typeof xc.vscode<"u"&&typeof xc.vscode.process<"u"?Ls=xc.vscode.process:typeof process<"u"&&typeof((IE=process==null?void 0:process.versions)===null||IE===void 0?void 0:IE.node)=="string"&&(Ls=process);const Fse=typeof((TE=Ls==null?void 0:Ls.versions)===null||TE===void 0?void 0:TE.electron)=="string",Ose=Fse&&(Ls==null?void 0:Ls.type)==="renderer";if(typeof Ls=="object"){ES=Ls.platform==="win32",IS=Ls.platform==="darwin",Ry=Ls.platform==="linux",Ry&&Ls.env.SNAP&&Ls.env.SNAP_REVISION,Ls.env.CI||Ls.env.BUILD_ARTIFACTSTAGINGDIRECTORY,lw=Qp,Py=Qp;const s=Ls.env.VSCODE_NLS_CONFIG;if(s)try{const e=JSON.parse(s),t=e.availableLanguages["*"];lw=e.locale,X5=e.osLocale,Py=t||Qp,Pse=e._translationsConfigFile}catch{}AV=!0}else typeof navigator=="object"&&!Ose?(Ta=navigator.userAgent,ES=Ta.indexOf("Windows")>=0,IS=Ta.indexOf("Macintosh")>=0,HP=(Ta.indexOf("Macintosh")>=0||Ta.indexOf("iPad")>=0||Ta.indexOf("iPhone")>=0)&&!!navigator.maxTouchPoints&&navigator.maxTouchPoints>0,Ry=Ta.indexOf("Linux")>=0,MV=(Ta==null?void 0:Ta.indexOf("Mobi"))>=0,WP=!0,p({},"_"),lw=Qp,Py=lw,X5=navigator.language):console.error("Unable to resolve platform.");const as=ES,lt=IS,$s=Ry,md=AV,Jh=WP,Bse=WP&&typeof xc.importScripts=="function",Wse=Bse?xc.origin:void 0,_d=HP,RV=MV,vd=Ta,Hse=Py,Vse=typeof xc.postMessage=="function"&&!xc.importScripts,PV=(()=>{if(Vse){const s=[];xc.addEventListener("message",t=>{if(t.data&&t.data.vscodeScheduleAsyncWork)for(let i=0,n=s.length;i {const i=++e;s.push({id:i,callback:t}),xc.postMessage({vscodeScheduleAsyncWork:i},"*")}}return s=>setTimeout(s)})(),Lo=IS||HP?2:ES?1:3;let Y5=!0,Q5=!1;function FV(){if(!Q5){Q5=!0;const s=new Uint8Array(2);s[0]=1,s[1]=2,Y5=new Uint16Array(s.buffer)[0]===513}return Y5}const OV=!!(vd&&vd.indexOf("Chrome")>=0),zse=!!(vd&&vd.indexOf("Firefox")>=0),Use=!!(!OV&&vd&&vd.indexOf("Safari")>=0),$se=!!(vd&&vd.indexOf("Edg/")>=0),jse=!!(vd&&vd.indexOf("Android")>=0),ns={tabSize:4,indentSize:4,insertSpaces:!0,detectIndentation:!0,trimAutoWhitespace:!0,largeFileOptimizations:!0,bracketPairColorizationOptions:{enabled:!0,independentColorPoolPerBracketType:!1}};var ft;(function(s){function e(C){return C&&typeof C=="object"&&typeof C[Symbol.iterator]=="function"}s.is=e;const t=Object.freeze([]);function i(){return t}s.empty=i;function*n(C){yield C}s.single=n;function o(C){return e(C)?C:n(C)}s.wrap=o;function r(C){return C||t}s.from=r;function*a(C){for(let w=C.length-1;w>=0;w--)yield C[w]}s.reverse=a;function l(C){return!C||C[Symbol.iterator]().next().done===!0}s.isEmpty=l;function d(C){return C[Symbol.iterator]().next().value}s.first=d;function c(C,w){for(const y of C)if(w(y))return!0;return!1}s.some=c;function u(C,w){for(const y of C)if(w(y))return y}s.find=u;function*h(C,w){for(const y of C)w(y)&&(yield y)}s.filter=h;function*g(C,w){let y=0;for(const D of C)yield w(D,y++)}s.map=g;function*f(...C){for(const w of C)yield*w}s.concat=f;function m(C,w,y){let D=y;for(const L of C)D=w(D,L);return D}s.reduce=m;function*_(C,w,y=C.length){for(w<0&&(w+=C.length),y<0?y+=C.length:y>C.length&&(y=C.length);w {n||(n=!0,this._remove(i))}}shift(){if(this._first!==nn.Undefined){const e=this._first.element;return this._remove(this._first),e}}pop(){if(this._last!==nn.Undefined){const e=this._last.element;return this._remove(this._last),e}}_remove(e){if(e.prev!==nn.Undefined&&e.next!==nn.Undefined){const t=e.prev;t.next=e.next,e.next.prev=t}else e.prev===nn.Undefined&&e.next===nn.Undefined?(this._first=nn.Undefined,this._last=nn.Undefined):e.next===nn.Undefined?(this._last=this._last.prev,this._last.next=nn.Undefined):e.prev===nn.Undefined&&(this._first=this._first.next,this._first.prev=nn.Undefined);this._size-=1}*[Symbol.iterator](){let e=this._first;for(;e!==nn.Undefined;)yield e.element,e=e.next}}const BV="`~!@#$%^&*()-=+[{]}\\|;:'\",.<>/?";function Kse(s=""){let e="(-?\\d*\\.\\d\\w*)|([^";for(const t of BV)s.indexOf(t)>=0||(e+="\\"+t);return e+="\\s]+)",new RegExp(e,"g")}const VP=Kse();function zP(s){let e=VP;if(s&&s instanceof RegExp)if(s.global)e=s;else{let t="g";s.ignoreCase&&(t+="i"),s.multiline&&(t+="m"),s.unicode&&(t+="u"),e=new RegExp(s.source,t)}return e.lastIndex=0,e}const WV=new Rs;WV.unshift({maxLen:1e3,windowSize:15,timeBudget:150});function Eb(s,e,t,i,n){if(e=zP(e),n||(n=ft.first(WV)),t.length>n.maxLen){let d=s-n.maxLen/2;return d<0?d=0:i+=d,t=t.substring(d,s+n.maxLen/2),Eb(s,e,t,i,n)}const o=Date.now(),r=s-1-i;let a=-1,l=null;for(let d=1;!(Date.now()-o>=n.timeBudget);d++){const c=r-n.windowSize*d;e.lastIndex=Math.max(0,c);const u=qse(e,t,r,a);if(!u&&l||(l=u,c<=0))break;a=c}if(l){const d={word:l[0],startColumn:i+1+l.index,endColumn:i+1+l.index+l[0].length};return e.lastIndex=0,d}return null}function qse(s,e,t,i){let n;for(;n=s.exec(e);){const o=n.index||0;if(o<=t&&s.lastIndex>=t)return n;if(i>0&&o>i)return null}return null}const El=8;class HV{constructor(e){this._values=e}hasChanged(e){return this._values[e]}}class VV{constructor(){this.stableMinimapLayoutInput=null,this.stableFitMaxMinimapScale=0,this.stableFitRemainingWidth=0}}class hi{constructor(e,t,i,n){this.id=e,this.name=t,this.defaultValue=i,this.schema=n}applyUpdate(e,t){return $L(e,t)}compute(e,t,i){return i}}class Hv{constructor(e,t){this.newValue=e,this.didChange=t}}function $L(s,e){if(typeof s!="object"||typeof e!="object"||!s||!e)return new Hv(e,s!==e);if(Array.isArray(s)||Array.isArray(e)){const i=Array.isArray(s)&&Array.isArray(e)&&Ci(s,e);return new Hv(e,!i)}let t=!1;for(const i in e)if(e.hasOwnProperty(i)){const n=$L(s[i],e[i]);n.didChange&&(s[i]=n.newValue,t=!0)}return new Hv(s,t)}class a1{constructor(e){this.schema=void 0,this.id=e,this.name="_never_",this.defaultValue=void 0}applyUpdate(e,t){return $L(e,t)}validate(e){return this.defaultValue}}class n0{constructor(e,t,i,n){this.id=e,this.name=t,this.defaultValue=i,this.schema=n}applyUpdate(e,t){return $L(e,t)}validate(e){return typeof e>"u"?this.defaultValue:e}compute(e,t,i){return i}}function xe(s,e){return typeof s>"u"?e:s==="false"?!1:!!s}class Ct extends n0{constructor(e,t,i,n=void 0){typeof n<"u"&&(n.type="boolean",n.default=i),super(e,t,i,n)}validate(e){return xe(e,this.defaultValue)}}function kg(s,e,t,i){if(typeof s>"u")return e;let n=parseInt(s,10);return isNaN(n)?e:(n=Math.max(t,n),n=Math.min(i,n),n|0)}class zt extends n0{static clampedInt(e,t,i,n){return kg(e,t,i,n)}constructor(e,t,i,n,o,r=void 0){typeof r<"u"&&(r.type="integer",r.default=i,r.minimum=n,r.maximum=o),super(e,t,i,r),this.minimum=n,this.maximum=o}validate(e){return zt.clampedInt(e,this.defaultValue,this.minimum,this.maximum)}}function Gse(s,e,t,i){if(typeof s>"u")return e;const n=kr.float(s,e);return kr.clamp(n,t,i)}class kr extends n0{static clamp(e,t,i){return e i?i:e}static float(e,t){if(typeof e=="number")return e;if(typeof e>"u")return t;const i=parseFloat(e);return isNaN(i)?t:i}constructor(e,t,i,n,o){typeof o<"u"&&(o.type="number",o.default=i),super(e,t,i,o),this.validationFn=n}validate(e){return this.validationFn(kr.float(e,this.defaultValue))}}class ks extends n0{static string(e,t){return typeof e!="string"?t:e}constructor(e,t,i,n=void 0){typeof n<"u"&&(n.type="string",n.default=i),super(e,t,i,n)}validate(e){return ks.string(e,this.defaultValue)}}function Ii(s,e,t,i){return typeof s!="string"?e:i&&s in i?i[s]:t.indexOf(s)===-1?e:s}class yi extends n0{constructor(e,t,i,n,o=void 0){typeof o<"u"&&(o.type="string",o.enum=n,o.default=i),super(e,t,i,o),this._allowedValues=n}validate(e){return Ii(e,this.defaultValue,this._allowedValues)}}class dw extends hi{constructor(e,t,i,n,o,r,a=void 0){typeof a<"u"&&(a.type="string",a.enum=o,a.default=n),super(e,t,i,a),this._allowedValues=o,this._convert=r}validate(e){return typeof e!="string"?this.defaultValue:this._allowedValues.indexOf(e)===-1?this.defaultValue:this._convert(e)}}function Zse(s){switch(s){case"none":return 0;case"keep":return 1;case"brackets":return 2;case"advanced":return 3;case"full":return 4}}class Xse extends hi{constructor(){super(2,"accessibilitySupport",0,{type:"string",enum:["auto","on","off"],enumDescriptions:[p("accessibilitySupport.auto","Use platform APIs to detect when a Screen Reader is attached."),p("accessibilitySupport.on","Optimize for usage with a Screen Reader."),p("accessibilitySupport.off","Assume a screen reader is not attached.")],default:"auto",tags:["accessibility"],description:p("accessibilitySupport","Controls if the UI should run in a mode where it is optimized for screen readers.")})}validate(e){switch(e){case"auto":return 0;case"off":return 1;case"on":return 2}return this.defaultValue}compute(e,t,i){return i===0?e.accessibilitySupport:i}}class Yse extends hi{constructor(){const e={insertSpace:!0,ignoreEmptyLines:!0};super(23,"comments",e,{"editor.comments.insertSpace":{type:"boolean",default:e.insertSpace,description:p("comments.insertSpace","Controls whether a space character is inserted when commenting.")},"editor.comments.ignoreEmptyLines":{type:"boolean",default:e.ignoreEmptyLines,description:p("comments.ignoreEmptyLines","Controls if empty lines should be ignored with toggle, add or remove actions for line comments.")}})}validate(e){if(!e||typeof e!="object")return this.defaultValue;const t=e;return{insertSpace:xe(t.insertSpace,this.defaultValue.insertSpace),ignoreEmptyLines:xe(t.ignoreEmptyLines,this.defaultValue.ignoreEmptyLines)}}}function Qse(s){switch(s){case"blink":return 1;case"smooth":return 2;case"phase":return 3;case"expand":return 4;case"solid":return 5}}var Hn;(function(s){s[s.Line=1]="Line",s[s.Block=2]="Block",s[s.Underline=3]="Underline",s[s.LineThin=4]="LineThin",s[s.BlockOutline=5]="BlockOutline",s[s.UnderlineThin=6]="UnderlineThin"})(Hn||(Hn={}));function Jse(s){switch(s){case"line":return Hn.Line;case"block":return Hn.Block;case"underline":return Hn.Underline;case"line-thin":return Hn.LineThin;case"block-outline":return Hn.BlockOutline;case"underline-thin":return Hn.UnderlineThin}}class eoe extends a1{constructor(){super(142)}compute(e,t,i){const n=["monaco-editor"];return t.get(39)&&n.push(t.get(39)),e.extraEditorClassName&&n.push(e.extraEditorClassName),t.get(74)==="default"?n.push("mouse-default"):t.get(74)==="copy"&&n.push("mouse-copy"),t.get(111)&&n.push("showUnused"),t.get(140)&&n.push("showDeprecated"),n.join(" ")}}class toe extends Ct{constructor(){super(37,"emptySelectionClipboard",!0,{description:p("emptySelectionClipboard","Controls whether copying without a selection copies the current line.")})}compute(e,t,i){return i&&e.emptySelectionClipboard}}class ioe extends hi{constructor(){const e={cursorMoveOnType:!0,seedSearchStringFromSelection:"always",autoFindInSelection:"never",globalFindClipboard:!1,addExtraSpaceOnTop:!0,loop:!0};super(41,"find",e,{"editor.find.cursorMoveOnType":{type:"boolean",default:e.cursorMoveOnType,description:p("find.cursorMoveOnType","Controls whether the cursor should jump to find matches while typing.")},"editor.find.seedSearchStringFromSelection":{type:"string",enum:["never","always","selection"],default:e.seedSearchStringFromSelection,enumDescriptions:[p("editor.find.seedSearchStringFromSelection.never","Never seed search string from the editor selection."),p("editor.find.seedSearchStringFromSelection.always","Always seed search string from the editor selection, including word at cursor position."),p("editor.find.seedSearchStringFromSelection.selection","Only seed search string from the editor selection.")],description:p("find.seedSearchStringFromSelection","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:e.autoFindInSelection,enumDescriptions:[p("editor.find.autoFindInSelection.never","Never turn on Find in Selection automatically (default)."),p("editor.find.autoFindInSelection.always","Always turn on Find in Selection automatically."),p("editor.find.autoFindInSelection.multiline","Turn on Find in Selection automatically when multiple lines of content are selected.")],description:p("find.autoFindInSelection","Controls the condition for turning on Find in Selection automatically.")},"editor.find.globalFindClipboard":{type:"boolean",default:e.globalFindClipboard,description:p("find.globalFindClipboard","Controls whether the Find Widget should read or modify the shared find clipboard on macOS."),included:lt},"editor.find.addExtraSpaceOnTop":{type:"boolean",default:e.addExtraSpaceOnTop,description:p("find.addExtraSpaceOnTop","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:e.loop,description:p("find.loop","Controls whether the search automatically restarts from the beginning (or the end) when no further matches can be found.")}})}validate(e){if(!e||typeof e!="object")return this.defaultValue;const t=e;return{cursorMoveOnType:xe(t.cursorMoveOnType,this.defaultValue.cursorMoveOnType),seedSearchStringFromSelection:typeof e.seedSearchStringFromSelection=="boolean"?e.seedSearchStringFromSelection?"always":"never":Ii(t.seedSearchStringFromSelection,this.defaultValue.seedSearchStringFromSelection,["never","always","selection"]),autoFindInSelection:typeof e.autoFindInSelection=="boolean"?e.autoFindInSelection?"always":"never":Ii(t.autoFindInSelection,this.defaultValue.autoFindInSelection,["never","always","multiline"]),globalFindClipboard:xe(t.globalFindClipboard,this.defaultValue.globalFindClipboard),addExtraSpaceOnTop:xe(t.addExtraSpaceOnTop,this.defaultValue.addExtraSpaceOnTop),loop:xe(t.loop,this.defaultValue.loop)}}}class Zo extends hi{constructor(){super(51,"fontLigatures",Zo.OFF,{anyOf:[{type:"boolean",description:p("fontLigatures","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:p("fontFeatureSettings","Explicit 'font-feature-settings' CSS property. A boolean can be passed instead if one only needs to turn on/off ligatures.")}],description:p("fontLigaturesGeneral","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(e){return typeof e>"u"?this.defaultValue:typeof e=="string"?e==="false"||e.length===0?Zo.OFF:e==="true"?Zo.ON:e:e?Zo.ON:Zo.OFF}}Zo.OFF='"liga" off, "calt" off';Zo.ON='"liga" on, "calt" on';class $a extends hi{constructor(){super(54,"fontVariations",$a.OFF,{anyOf:[{type:"boolean",description:p("fontVariations","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:p("fontVariationSettings","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:p("fontVariationsGeneral","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(e){return typeof e>"u"?this.defaultValue:typeof e=="string"?e==="false"?$a.OFF:e==="true"?$a.TRANSLATE:e:e?$a.TRANSLATE:$a.OFF}compute(e,t,i){return e.fontInfo.fontVariationSettings}}$a.OFF="normal";$a.TRANSLATE="translate";class noe extends a1{constructor(){super(50)}compute(e,t,i){return e.fontInfo}}class soe extends n0{constructor(){super(52,"fontSize",co.fontSize,{type:"number",minimum:6,maximum:100,default:co.fontSize,description:p("fontSize","Controls the font size in pixels.")})}validate(e){const t=kr.float(e,this.defaultValue);return t===0?co.fontSize:kr.clamp(t,6,100)}compute(e,t,i){return e.fontInfo.fontSize}}class Vl extends hi{constructor(){super(53,"fontWeight",co.fontWeight,{anyOf:[{type:"number",minimum:Vl.MINIMUM_VALUE,maximum:Vl.MAXIMUM_VALUE,errorMessage:p("fontWeightErrorMessage",'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:Vl.SUGGESTION_VALUES}],default:co.fontWeight,description:p("fontWeight",'Controls the font weight. Accepts "normal" and "bold" keywords or numbers between 1 and 1000.')})}validate(e){return e==="normal"||e==="bold"?e:String(zt.clampedInt(e,co.fontWeight,Vl.MINIMUM_VALUE,Vl.MAXIMUM_VALUE))}}Vl.SUGGESTION_VALUES=["normal","bold","100","200","300","400","500","600","700","800","900"];Vl.MINIMUM_VALUE=1;Vl.MAXIMUM_VALUE=1e3;class ooe extends hi{constructor(){const e={multiple:"peek",multipleDefinitions:"peek",multipleTypeDefinitions:"peek",multipleDeclarations:"peek",multipleImplementations:"peek",multipleReferences:"peek",alternativeDefinitionCommand:"editor.action.goToReferences",alternativeTypeDefinitionCommand:"editor.action.goToReferences",alternativeDeclarationCommand:"editor.action.goToReferences",alternativeImplementationCommand:"",alternativeReferenceCommand:""},t={type:"string",enum:["peek","gotoAndPeek","goto"],default:e.multiple,enumDescriptions:[p("editor.gotoLocation.multiple.peek","Show Peek view of the results (default)"),p("editor.gotoLocation.multiple.gotoAndPeek","Go to the primary result and show a Peek view"),p("editor.gotoLocation.multiple.goto","Go to the primary result and enable Peek-less navigation to others")]},i=["","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",e,{"editor.gotoLocation.multiple":{deprecationMessage:p("editor.gotoLocation.multiple.deprecated","This setting is deprecated, please use separate settings like 'editor.editor.gotoLocation.multipleDefinitions' or 'editor.editor.gotoLocation.multipleImplementations' instead.")},"editor.gotoLocation.multipleDefinitions":{description:p("editor.editor.gotoLocation.multipleDefinitions","Controls the behavior the 'Go to Definition'-command when multiple target locations exist."),...t},"editor.gotoLocation.multipleTypeDefinitions":{description:p("editor.editor.gotoLocation.multipleTypeDefinitions","Controls the behavior the 'Go to Type Definition'-command when multiple target locations exist."),...t},"editor.gotoLocation.multipleDeclarations":{description:p("editor.editor.gotoLocation.multipleDeclarations","Controls the behavior the 'Go to Declaration'-command when multiple target locations exist."),...t},"editor.gotoLocation.multipleImplementations":{description:p("editor.editor.gotoLocation.multipleImplemenattions","Controls the behavior the 'Go to Implementations'-command when multiple target locations exist."),...t},"editor.gotoLocation.multipleReferences":{description:p("editor.editor.gotoLocation.multipleReferences","Controls the behavior the 'Go to References'-command when multiple target locations exist."),...t},"editor.gotoLocation.alternativeDefinitionCommand":{type:"string",default:e.alternativeDefinitionCommand,enum:i,description:p("alternativeDefinitionCommand","Alternative command id that is being executed when the result of 'Go to Definition' is the current location.")},"editor.gotoLocation.alternativeTypeDefinitionCommand":{type:"string",default:e.alternativeTypeDefinitionCommand,enum:i,description:p("alternativeTypeDefinitionCommand","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:e.alternativeDeclarationCommand,enum:i,description:p("alternativeDeclarationCommand","Alternative command id that is being executed when the result of 'Go to Declaration' is the current location.")},"editor.gotoLocation.alternativeImplementationCommand":{type:"string",default:e.alternativeImplementationCommand,enum:i,description:p("alternativeImplementationCommand","Alternative command id that is being executed when the result of 'Go to Implementation' is the current location.")},"editor.gotoLocation.alternativeReferenceCommand":{type:"string",default:e.alternativeReferenceCommand,enum:i,description:p("alternativeReferenceCommand","Alternative command id that is being executed when the result of 'Go to Reference' is the current location.")}})}validate(e){var t,i,n,o,r;if(!e||typeof e!="object")return this.defaultValue;const a=e;return{multiple:Ii(a.multiple,this.defaultValue.multiple,["peek","gotoAndPeek","goto"]),multipleDefinitions:(t=a.multipleDefinitions)!==null&&t!==void 0?t:Ii(a.multipleDefinitions,"peek",["peek","gotoAndPeek","goto"]),multipleTypeDefinitions:(i=a.multipleTypeDefinitions)!==null&&i!==void 0?i:Ii(a.multipleTypeDefinitions,"peek",["peek","gotoAndPeek","goto"]),multipleDeclarations:(n=a.multipleDeclarations)!==null&&n!==void 0?n:Ii(a.multipleDeclarations,"peek",["peek","gotoAndPeek","goto"]),multipleImplementations:(o=a.multipleImplementations)!==null&&o!==void 0?o:Ii(a.multipleImplementations,"peek",["peek","gotoAndPeek","goto"]),multipleReferences:(r=a.multipleReferences)!==null&&r!==void 0?r:Ii(a.multipleReferences,"peek",["peek","gotoAndPeek","goto"]),alternativeDefinitionCommand:ks.string(a.alternativeDefinitionCommand,this.defaultValue.alternativeDefinitionCommand),alternativeTypeDefinitionCommand:ks.string(a.alternativeTypeDefinitionCommand,this.defaultValue.alternativeTypeDefinitionCommand),alternativeDeclarationCommand:ks.string(a.alternativeDeclarationCommand,this.defaultValue.alternativeDeclarationCommand),alternativeImplementationCommand:ks.string(a.alternativeImplementationCommand,this.defaultValue.alternativeImplementationCommand),alternativeReferenceCommand:ks.string(a.alternativeReferenceCommand,this.defaultValue.alternativeReferenceCommand)}}}class roe extends hi{constructor(){const e={enabled:!0,delay:300,hidingDelay:300,sticky:!0,above:!0};super(60,"hover",e,{"editor.hover.enabled":{type:"boolean",default:e.enabled,description:p("hover.enabled","Controls whether the hover is shown.")},"editor.hover.delay":{type:"number",default:e.delay,minimum:0,maximum:1e4,description:p("hover.delay","Controls the delay in milliseconds after which the hover is shown.")},"editor.hover.sticky":{type:"boolean",default:e.sticky,description:p("hover.sticky","Controls whether the hover should remain visible when mouse is moved over it.")},"editor.hover.hidingDelay":{type:"integer",minimum:0,default:e.hidingDelay,description:p("hover.hidingDelay","Controls the delay in milliseconds after which the hover is hidden. Requires `editor.hover.sticky` to be enabled.")},"editor.hover.above":{type:"boolean",default:e.above,description:p("hover.above","Prefer showing hovers above the line, if there's space.")}})}validate(e){if(!e||typeof e!="object")return this.defaultValue;const t=e;return{enabled:xe(t.enabled,this.defaultValue.enabled),delay:zt.clampedInt(t.delay,this.defaultValue.delay,0,1e4),sticky:xe(t.sticky,this.defaultValue.sticky),hidingDelay:zt.clampedInt(t.hidingDelay,this.defaultValue.hidingDelay,0,6e5),above:xe(t.above,this.defaultValue.above)}}}class Lm extends a1{constructor(){super(145)}compute(e,t,i){return Lm.computeLayout(t,{memory:e.memory,outerWidth:e.outerWidth,outerHeight:e.outerHeight,isDominatedByLongLines:e.isDominatedByLongLines,lineHeight:e.fontInfo.lineHeight,viewLineCount:e.viewLineCount,lineNumbersDigitCount:e.lineNumbersDigitCount,typicalHalfwidthCharacterWidth:e.fontInfo.typicalHalfwidthCharacterWidth,maxDigitWidth:e.fontInfo.maxDigitWidth,pixelRatio:e.pixelRatio,glyphMarginDecorationLaneCount:e.glyphMarginDecorationLaneCount})}static computeContainedMinimapLineCount(e){const t=e.height/e.lineHeight,i=Math.floor(e.paddingTop/e.lineHeight);let n=Math.floor(e.paddingBottom/e.lineHeight);e.scrollBeyondLastLine&&(n=Math.max(n,t-1));const o=(i+e.viewLineCount+n)/(e.pixelRatio*e.height),r=Math.floor(e.viewLineCount/o);return{typicalViewportLineCount:t,extraLinesBeforeFirstLine:i,extraLinesBeyondLastLine:n,desiredRatio:o,minimapLineCount:r}}static _computeMinimapLayout(e,t){const i=e.outerWidth,n=e.outerHeight,o=e.pixelRatio;if(!e.minimap.enabled)return{renderMinimap:0,minimapLeft:0,minimapWidth:0,minimapHeightIsEditorHeight:!1,minimapIsSampling:!1,minimapScale:1,minimapLineHeight:1,minimapCanvasInnerWidth:0,minimapCanvasInnerHeight:Math.floor(o*n),minimapCanvasOuterWidth:0,minimapCanvasOuterHeight:n};const r=t.stableMinimapLayoutInput,a=r&&e.outerHeight===r.outerHeight&&e.lineHeight===r.lineHeight&&e.typicalHalfwidthCharacterWidth===r.typicalHalfwidthCharacterWidth&&e.pixelRatio===r.pixelRatio&&e.scrollBeyondLastLine===r.scrollBeyondLastLine&&e.paddingTop===r.paddingTop&&e.paddingBottom===r.paddingBottom&&e.minimap.enabled===r.minimap.enabled&&e.minimap.side===r.minimap.side&&e.minimap.size===r.minimap.size&&e.minimap.showSlider===r.minimap.showSlider&&e.minimap.renderCharacters===r.minimap.renderCharacters&&e.minimap.maxColumn===r.minimap.maxColumn&&e.minimap.scale===r.minimap.scale&&e.verticalScrollbarWidth===r.verticalScrollbarWidth&&e.isViewportWrapping===r.isViewportWrapping,l=e.lineHeight,d=e.typicalHalfwidthCharacterWidth,c=e.scrollBeyondLastLine,u=e.minimap.renderCharacters;let h=o>=2?Math.round(e.minimap.scale*2):e.minimap.scale;const g=e.minimap.maxColumn,f=e.minimap.size,m=e.minimap.side,_=e.verticalScrollbarWidth,v=e.viewLineCount,b=e.remainingWidth,C=e.isViewportWrapping,w=u?2:3;let y=Math.floor(o*n);const D=y/o;let L=!1,k=!1,I=w*h,O=h/o,R=1;if(f==="fill"||f==="fit"){const{typicalViewportLineCount:De,extraLinesBeforeFirstLine:ge,extraLinesBeyondLastLine:We,desiredRatio:ye,minimapLineCount:ve}=Lm.computeContainedMinimapLineCount({viewLineCount:v,scrollBeyondLastLine:c,paddingTop:e.paddingTop,paddingBottom:e.paddingBottom,height:n,lineHeight:l,pixelRatio:o});if(v/ve>1)L=!0,k=!0,h=1,I=1,O=h/o;else{let Qt=!1,Ui=h+1;if(f==="fit"){const Gi=Math.ceil((ge+v+We)*I);C&&a&&b<=t.stableFitRemainingWidth?(Qt=!0,Ui=t.stableFitMaxMinimapScale):Qt=Gi>y}if(f==="fill"||Qt){L=!0;const Gi=h;I=Math.min(l*o,Math.max(1,Math.floor(1/ye))),C&&a&&b<=t.stableFitRemainingWidth&&(Ui=t.stableFitMaxMinimapScale),h=Math.min(Ui,Math.max(1,Math.floor(I/w))),h>Gi&&(R=Math.min(2,h/Gi)),O=h/o/R,y=Math.ceil(Math.max(De,ge+v+We)*I),C?(t.stableMinimapLayoutInput=e,t.stableFitRemainingWidth=b,t.stableFitMaxMinimapScale=h):(t.stableMinimapLayoutInput=null,t.stableFitRemainingWidth=0)}}}const P=Math.floor(g*O),F=Math.min(P,Math.max(0,Math.floor((b-_-2)*O/(d+O)))+El);let V=Math.floor(o*F);const U=V/o;V=Math.floor(V*R);const J=u?1:2,pe=m==="left"?0:i-F-_;return{renderMinimap:J,minimapLeft:pe,minimapWidth:F,minimapHeightIsEditorHeight:L,minimapIsSampling:k,minimapScale:h,minimapLineHeight:I,minimapCanvasInnerWidth:V,minimapCanvasInnerHeight:y,minimapCanvasOuterWidth:U,minimapCanvasOuterHeight:D}}static computeLayout(e,t){const i=t.outerWidth|0,n=t.outerHeight|0,o=t.lineHeight|0,r=t.lineNumbersDigitCount|0,a=t.typicalHalfwidthCharacterWidth,l=t.maxDigitWidth,d=t.pixelRatio,c=t.viewLineCount,u=e.get(137),h=u==="inherit"?e.get(136):u,g=h==="inherit"?e.get(132):h,f=e.get(135),m=t.isDominatedByLongLines,_=e.get(57),v=e.get(68).renderType!==0,b=e.get(69),C=e.get(105),w=e.get(84),y=e.get(73),D=e.get(103),L=D.verticalScrollbarSize,k=D.verticalHasArrows,I=D.arrowSize,O=D.horizontalScrollbarSize,R=e.get(43),P=e.get(110)!=="never";let F=e.get(66);R&&P&&(F+=16);let V=0;if(v){const tn=Math.max(r,b);V=Math.round(tn*l)}let U=0;_&&(U=o*t.glyphMarginDecorationLaneCount);let J=0,pe=J+U,De=pe+V,ge=De+F;const We=i-U-V-F;let ye=!1,ve=!1,ce=-1;h==="inherit"&&m?(ye=!0,ve=!0):g==="on"||g==="bounded"?ve=!0:g==="wordWrapColumn"&&(ce=f);const Qt=Lm._computeMinimapLayout({outerWidth:i,outerHeight:n,lineHeight:o,typicalHalfwidthCharacterWidth:a,pixelRatio:d,scrollBeyondLastLine:C,paddingTop:w.top,paddingBottom:w.bottom,minimap:y,verticalScrollbarWidth:L,viewLineCount:c,remainingWidth:We,isViewportWrapping:ve},t.memory||new VV);Qt.renderMinimap!==0&&Qt.minimapLeft===0&&(J+=Qt.minimapWidth,pe+=Qt.minimapWidth,De+=Qt.minimapWidth,ge+=Qt.minimapWidth);const Ui=We-Qt.minimapWidth,Gi=Math.max(1,Math.floor((Ui-L-2)/a)),St=k?I:0;return ve&&(ce=Math.max(1,Gi),g==="bounded"&&(ce=Math.min(ce,f))),{width:i,height:n,glyphMarginLeft:J,glyphMarginWidth:U,glyphMarginDecorationLaneCount:t.glyphMarginDecorationLaneCount,lineNumbersLeft:pe,lineNumbersWidth:V,decorationsLeft:De,decorationsWidth:F,contentLeft:ge,contentWidth:Ui,minimap:Qt,viewportColumn:Gi,isWordWrapMinified:ye,isViewportWrapping:ve,wrappingColumn:ce,verticalScrollbarWidth:L,horizontalScrollbarHeight:O,overviewRuler:{top:St,width:L,height:n-2*St,right:0}}}}class aoe extends hi{constructor(){super(139,"wrappingStrategy","simple",{"editor.wrappingStrategy":{enumDescriptions:[p("wrappingStrategy.simple","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."),p("wrappingStrategy.advanced","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:p("wrappingStrategy","Controls the algorithm that computes wrapping points. Note that when in accessibility mode, advanced will be used for the best experience.")}})}validate(e){return Ii(e,"simple",["simple","advanced"])}compute(e,t,i){return t.get(2)===2?"advanced":i}}var ia;(function(s){s.Off="off",s.OnCode="onCode",s.On="on"})(ia||(ia={}));class loe extends hi{constructor(){const e={enabled:ia.On};super(65,"lightbulb",e,{"editor.lightbulb.enabled":{type:"string",tags:["experimental"],enum:[ia.Off,ia.OnCode,ia.On],default:e.enabled,enumDescriptions:[p("editor.lightbulb.enabled.off","Disable the code action menu."),p("editor.lightbulb.enabled.onCode","Show the code action menu when the cursor is on lines with code."),p("editor.lightbulb.enabled.on","Show the code action menu when the cursor is on lines with code or on empty lines.")],description:p("enabled","Enables the Code Action lightbulb in the editor.")}})}validate(e){return!e||typeof e!="object"?this.defaultValue:{enabled:Ii(e.enabled,this.defaultValue.enabled,[ia.Off,ia.OnCode,ia.On])}}}class doe extends hi{constructor(){const e={enabled:!0,maxLineCount:5,defaultModel:"outlineModel",scrollWithEditor:!0};super(115,"stickyScroll",e,{"editor.stickyScroll.enabled":{type:"boolean",default:e.enabled,description:p("editor.stickyScroll.enabled","Shows the nested current scopes during the scroll at the top of the editor."),tags:["experimental"]},"editor.stickyScroll.maxLineCount":{type:"number",default:e.maxLineCount,minimum:1,maximum:20,description:p("editor.stickyScroll.maxLineCount","Defines the maximum number of sticky lines to show.")},"editor.stickyScroll.defaultModel":{type:"string",enum:["outlineModel","foldingProviderModel","indentationModel"],default:e.defaultModel,description:p("editor.stickyScroll.defaultModel","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:e.scrollWithEditor,description:p("editor.stickyScroll.scrollWithEditor","Enable scrolling of Sticky Scroll with the editor's horizontal scrollbar.")}})}validate(e){if(!e||typeof e!="object")return this.defaultValue;const t=e;return{enabled:xe(t.enabled,this.defaultValue.enabled),maxLineCount:zt.clampedInt(t.maxLineCount,this.defaultValue.maxLineCount,1,20),defaultModel:Ii(t.defaultModel,this.defaultValue.defaultModel,["outlineModel","foldingProviderModel","indentationModel"]),scrollWithEditor:xe(t.scrollWithEditor,this.defaultValue.scrollWithEditor)}}}class coe extends hi{constructor(){const e={enabled:"on",fontSize:0,fontFamily:"",padding:!1};super(141,"inlayHints",e,{"editor.inlayHints.enabled":{type:"string",default:e.enabled,description:p("inlayHints.enable","Enables the inlay hints in the editor."),enum:["on","onUnlessPressed","offUnlessPressed","off"],markdownEnumDescriptions:[p("editor.inlayHints.on","Inlay hints are enabled"),p("editor.inlayHints.onUnlessPressed","Inlay hints are showing by default and hide when holding {0}",lt?"Ctrl+Option":"Ctrl+Alt"),p("editor.inlayHints.offUnlessPressed","Inlay hints are hidden by default and show when holding {0}",lt?"Ctrl+Option":"Ctrl+Alt"),p("editor.inlayHints.off","Inlay hints are disabled")]},"editor.inlayHints.fontSize":{type:"number",default:e.fontSize,markdownDescription:p("inlayHints.fontSize","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:e.fontFamily,markdownDescription:p("inlayHints.fontFamily","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:e.padding,description:p("inlayHints.padding","Enables the padding around the inlay hints in the editor.")}})}validate(e){if(!e||typeof e!="object")return this.defaultValue;const t=e;return typeof t.enabled=="boolean"&&(t.enabled=t.enabled?"on":"off"),{enabled:Ii(t.enabled,this.defaultValue.enabled,["on","off","offUnlessPressed","onUnlessPressed"]),fontSize:zt.clampedInt(t.fontSize,this.defaultValue.fontSize,0,100),fontFamily:ks.string(t.fontFamily,this.defaultValue.fontFamily),padding:xe(t.padding,this.defaultValue.padding)}}}class uoe extends hi{constructor(){super(66,"lineDecorationsWidth",10)}validate(e){return typeof e=="string"&&/^\d+(\.\d+)?ch$/.test(e)?-parseFloat(e.substring(0,e.length-2)):zt.clampedInt(e,this.defaultValue,0,1e3)}compute(e,t,i){return i<0?zt.clampedInt(-i*e.fontInfo.typicalHalfwidthCharacterWidth,this.defaultValue,0,1e3):i}}class hoe extends kr{constructor(){super(67,"lineHeight",co.lineHeight,e=>kr.clamp(e,0,150),{markdownDescription:p("lineHeight",`Controls the line height. - Use 0 to automatically compute the line height from the font size. - Values between 0 and 8 will be used as a multiplier with the font size. - Values greater than or equal to 8 will be used as effective values.`)})}compute(e,t,i){return e.fontInfo.lineHeight}}class goe extends hi{constructor(){const e={enabled:!0,size:"proportional",side:"right",showSlider:"mouseover",autohide:!1,renderCharacters:!0,maxColumn:120,scale:1,showRegionSectionHeaders:!0,showMarkSectionHeaders:!0,sectionHeaderFontSize:9};super(73,"minimap",e,{"editor.minimap.enabled":{type:"boolean",default:e.enabled,description:p("minimap.enabled","Controls whether the minimap is shown.")},"editor.minimap.autohide":{type:"boolean",default:e.autohide,description:p("minimap.autohide","Controls whether the minimap is hidden automatically.")},"editor.minimap.size":{type:"string",enum:["proportional","fill","fit"],enumDescriptions:[p("minimap.size.proportional","The minimap has the same size as the editor contents (and might scroll)."),p("minimap.size.fill","The minimap will stretch or shrink as necessary to fill the height of the editor (no scrolling)."),p("minimap.size.fit","The minimap will shrink as necessary to never be larger than the editor (no scrolling).")],default:e.size,description:p("minimap.size","Controls the size of the minimap.")},"editor.minimap.side":{type:"string",enum:["left","right"],default:e.side,description:p("minimap.side","Controls the side where to render the minimap.")},"editor.minimap.showSlider":{type:"string",enum:["always","mouseover"],default:e.showSlider,description:p("minimap.showSlider","Controls when the minimap slider is shown.")},"editor.minimap.scale":{type:"number",default:e.scale,minimum:1,maximum:3,enum:[1,2,3],description:p("minimap.scale","Scale of content drawn in the minimap: 1, 2 or 3.")},"editor.minimap.renderCharacters":{type:"boolean",default:e.renderCharacters,description:p("minimap.renderCharacters","Render the actual characters on a line as opposed to color blocks.")},"editor.minimap.maxColumn":{type:"number",default:e.maxColumn,description:p("minimap.maxColumn","Limit the width of the minimap to render at most a certain number of columns.")},"editor.minimap.showRegionSectionHeaders":{type:"boolean",default:e.showRegionSectionHeaders,description:p("minimap.showRegionSectionHeaders","Controls whether named regions are shown as section headers in the minimap.")},"editor.minimap.showMarkSectionHeaders":{type:"boolean",default:e.showMarkSectionHeaders,description:p("minimap.showMarkSectionHeaders","Controls whether MARK: comments are shown as section headers in the minimap.")},"editor.minimap.sectionHeaderFontSize":{type:"number",default:e.sectionHeaderFontSize,description:p("minimap.sectionHeaderFontSize","Controls the font size of section headers in the minimap.")}})}validate(e){var t;if(!e||typeof e!="object")return this.defaultValue;const i=e;return{enabled:xe(i.enabled,this.defaultValue.enabled),autohide:xe(i.autohide,this.defaultValue.autohide),size:Ii(i.size,this.defaultValue.size,["proportional","fill","fit"]),side:Ii(i.side,this.defaultValue.side,["right","left"]),showSlider:Ii(i.showSlider,this.defaultValue.showSlider,["always","mouseover"]),renderCharacters:xe(i.renderCharacters,this.defaultValue.renderCharacters),scale:zt.clampedInt(i.scale,1,1,3),maxColumn:zt.clampedInt(i.maxColumn,this.defaultValue.maxColumn,1,1e4),showRegionSectionHeaders:xe(i.showRegionSectionHeaders,this.defaultValue.showRegionSectionHeaders),showMarkSectionHeaders:xe(i.showMarkSectionHeaders,this.defaultValue.showMarkSectionHeaders),sectionHeaderFontSize:kr.clamp((t=i.sectionHeaderFontSize)!==null&&t!==void 0?t:this.defaultValue.sectionHeaderFontSize,4,32)}}}function foe(s){return s==="ctrlCmd"?lt?"metaKey":"ctrlKey":"altKey"}class poe extends hi{constructor(){super(84,"padding",{top:0,bottom:0},{"editor.padding.top":{type:"number",default:0,minimum:0,maximum:1e3,description:p("padding.top","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:p("padding.bottom","Controls the amount of space between the bottom edge of the editor and the last line.")}})}validate(e){if(!e||typeof e!="object")return this.defaultValue;const t=e;return{top:zt.clampedInt(t.top,0,0,1e3),bottom:zt.clampedInt(t.bottom,0,0,1e3)}}}class moe extends hi{constructor(){const e={enabled:!0,cycle:!0};super(86,"parameterHints",e,{"editor.parameterHints.enabled":{type:"boolean",default:e.enabled,description:p("parameterHints.enabled","Enables a pop-up that shows parameter documentation and type information as you type.")},"editor.parameterHints.cycle":{type:"boolean",default:e.cycle,description:p("parameterHints.cycle","Controls whether the parameter hints menu cycles or closes when reaching the end of the list.")}})}validate(e){if(!e||typeof e!="object")return this.defaultValue;const t=e;return{enabled:xe(t.enabled,this.defaultValue.enabled),cycle:xe(t.cycle,this.defaultValue.cycle)}}}class _oe extends a1{constructor(){super(143)}compute(e,t,i){return e.pixelRatio}}class voe extends hi{constructor(){const e={other:"on",comments:"off",strings:"off"},t=[{type:"boolean"},{type:"string",enum:["on","inline","off"],enumDescriptions:[p("on","Quick suggestions show inside the suggest widget"),p("inline","Quick suggestions show as ghost text"),p("off","Quick suggestions are disabled")]}];super(89,"quickSuggestions",e,{type:"object",additionalProperties:!1,properties:{strings:{anyOf:t,default:e.strings,description:p("quickSuggestions.strings","Enable quick suggestions inside strings.")},comments:{anyOf:t,default:e.comments,description:p("quickSuggestions.comments","Enable quick suggestions inside comments.")},other:{anyOf:t,default:e.other,description:p("quickSuggestions.other","Enable quick suggestions outside of strings and comments.")}},default:e,markdownDescription:p("quickSuggestions","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=e}validate(e){if(typeof e=="boolean"){const d=e?"on":"off";return{comments:d,strings:d,other:d}}if(!e||typeof e!="object")return this.defaultValue;const{other:t,comments:i,strings:n}=e,o=["on","inline","off"];let r,a,l;return typeof t=="boolean"?r=t?"on":"off":r=Ii(t,this.defaultValue.other,o),typeof i=="boolean"?a=i?"on":"off":a=Ii(i,this.defaultValue.comments,o),typeof n=="boolean"?l=n?"on":"off":l=Ii(n,this.defaultValue.strings,o),{other:r,comments:a,strings:l}}}class boe extends hi{constructor(){super(68,"lineNumbers",{renderType:1,renderFn:null},{type:"string",enum:["off","on","relative","interval"],enumDescriptions:[p("lineNumbers.off","Line numbers are not rendered."),p("lineNumbers.on","Line numbers are rendered as absolute number."),p("lineNumbers.relative","Line numbers are rendered as distance in lines to cursor position."),p("lineNumbers.interval","Line numbers are rendered every 10 lines.")],default:"on",description:p("lineNumbers","Controls the display of line numbers.")})}validate(e){let t=this.defaultValue.renderType,i=this.defaultValue.renderFn;return typeof e<"u"&&(typeof e=="function"?(t=4,i=e):e==="interval"?t=3:e==="relative"?t=2:e==="on"?t=1:t=0),{renderType:t,renderFn:i}}}function TS(s){const e=s.get(98);return e==="editable"?s.get(91):e!=="on"}class Coe extends hi{constructor(){const e=[],t={type:"number",description:p("rulers.size","Number of monospace characters at which this editor ruler will render.")};super(102,"rulers",e,{type:"array",items:{anyOf:[t,{type:["object"],properties:{column:t,color:{type:"string",description:p("rulers.color","Color of this editor ruler."),format:"color-hex"}}}]},default:e,description:p("rulers","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(e){if(Array.isArray(e)){const t=[];for(const i of e)if(typeof i=="number")t.push({column:zt.clampedInt(i,0,0,1e4),color:null});else if(i&&typeof i=="object"){const n=i;t.push({column:zt.clampedInt(n.column,0,0,1e4),color:n.color})}return t.sort((i,n)=>i.column-n.column),t}return this.defaultValue}}class woe extends hi{constructor(){super(92,"readOnlyMessage",void 0)}validate(e){return!e||typeof e!="object"?this.defaultValue:e}}function J5(s,e){if(typeof s!="string")return e;switch(s){case"hidden":return 2;case"visible":return 3;default:return 1}}let yoe=class extends hi{constructor(){const e={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(103,"scrollbar",e,{"editor.scrollbar.vertical":{type:"string",enum:["auto","visible","hidden"],enumDescriptions:[p("scrollbar.vertical.auto","The vertical scrollbar will be visible only when necessary."),p("scrollbar.vertical.visible","The vertical scrollbar will always be visible."),p("scrollbar.vertical.fit","The vertical scrollbar will always be hidden.")],default:"auto",description:p("scrollbar.vertical","Controls the visibility of the vertical scrollbar.")},"editor.scrollbar.horizontal":{type:"string",enum:["auto","visible","hidden"],enumDescriptions:[p("scrollbar.horizontal.auto","The horizontal scrollbar will be visible only when necessary."),p("scrollbar.horizontal.visible","The horizontal scrollbar will always be visible."),p("scrollbar.horizontal.fit","The horizontal scrollbar will always be hidden.")],default:"auto",description:p("scrollbar.horizontal","Controls the visibility of the horizontal scrollbar.")},"editor.scrollbar.verticalScrollbarSize":{type:"number",default:e.verticalScrollbarSize,description:p("scrollbar.verticalScrollbarSize","The width of the vertical scrollbar.")},"editor.scrollbar.horizontalScrollbarSize":{type:"number",default:e.horizontalScrollbarSize,description:p("scrollbar.horizontalScrollbarSize","The height of the horizontal scrollbar.")},"editor.scrollbar.scrollByPage":{type:"boolean",default:e.scrollByPage,description:p("scrollbar.scrollByPage","Controls whether clicks scroll by page or jump to click position.")},"editor.scrollbar.ignoreHorizontalScrollbarInContentHeight":{type:"boolean",default:e.ignoreHorizontalScrollbarInContentHeight,description:p("scrollbar.ignoreHorizontalScrollbarInContentHeight","When set, the horizontal scrollbar will not increase the size of the editor's content.")}})}validate(e){if(!e||typeof e!="object")return this.defaultValue;const t=e,i=zt.clampedInt(t.horizontalScrollbarSize,this.defaultValue.horizontalScrollbarSize,0,1e3),n=zt.clampedInt(t.verticalScrollbarSize,this.defaultValue.verticalScrollbarSize,0,1e3);return{arrowSize:zt.clampedInt(t.arrowSize,this.defaultValue.arrowSize,0,1e3),vertical:J5(t.vertical,this.defaultValue.vertical),horizontal:J5(t.horizontal,this.defaultValue.horizontal),useShadows:xe(t.useShadows,this.defaultValue.useShadows),verticalHasArrows:xe(t.verticalHasArrows,this.defaultValue.verticalHasArrows),horizontalHasArrows:xe(t.horizontalHasArrows,this.defaultValue.horizontalHasArrows),handleMouseWheel:xe(t.handleMouseWheel,this.defaultValue.handleMouseWheel),alwaysConsumeMouseWheel:xe(t.alwaysConsumeMouseWheel,this.defaultValue.alwaysConsumeMouseWheel),horizontalScrollbarSize:i,horizontalSliderSize:zt.clampedInt(t.horizontalSliderSize,i,0,1e3),verticalScrollbarSize:n,verticalSliderSize:zt.clampedInt(t.verticalSliderSize,n,0,1e3),scrollByPage:xe(t.scrollByPage,this.defaultValue.scrollByPage),ignoreHorizontalScrollbarInContentHeight:xe(t.ignoreHorizontalScrollbarInContentHeight,this.defaultValue.ignoreHorizontalScrollbarInContentHeight)}}};const zo="inUntrustedWorkspace",no={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 Soe extends hi{constructor(){const e={nonBasicASCII:zo,invisibleCharacters:!0,ambiguousCharacters:!0,includeComments:zo,includeStrings:!0,allowedCharacters:{},allowedLocales:{_os:!0,_vscode:!0}};super(125,"unicodeHighlight",e,{[no.nonBasicASCII]:{restricted:!0,type:["boolean","string"],enum:[!0,!1,zo],default:e.nonBasicASCII,description:p("unicodeHighlight.nonBasicASCII","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.")},[no.invisibleCharacters]:{restricted:!0,type:"boolean",default:e.invisibleCharacters,description:p("unicodeHighlight.invisibleCharacters","Controls whether characters that just reserve space or have no width at all are highlighted.")},[no.ambiguousCharacters]:{restricted:!0,type:"boolean",default:e.ambiguousCharacters,description:p("unicodeHighlight.ambiguousCharacters","Controls whether characters are highlighted that can be confused with basic ASCII characters, except those that are common in the current user locale.")},[no.includeComments]:{restricted:!0,type:["boolean","string"],enum:[!0,!1,zo],default:e.includeComments,description:p("unicodeHighlight.includeComments","Controls whether characters in comments should also be subject to Unicode highlighting.")},[no.includeStrings]:{restricted:!0,type:["boolean","string"],enum:[!0,!1,zo],default:e.includeStrings,description:p("unicodeHighlight.includeStrings","Controls whether characters in strings should also be subject to Unicode highlighting.")},[no.allowedCharacters]:{restricted:!0,type:"object",default:e.allowedCharacters,description:p("unicodeHighlight.allowedCharacters","Defines allowed characters that are not being highlighted."),additionalProperties:{type:"boolean"}},[no.allowedLocales]:{restricted:!0,type:"object",additionalProperties:{type:"boolean"},default:e.allowedLocales,description:p("unicodeHighlight.allowedLocales","Unicode characters that are common in allowed locales are not being highlighted.")}})}applyUpdate(e,t){let i=!1;t.allowedCharacters&&e&&(tr(e.allowedCharacters,t.allowedCharacters)||(e={...e,allowedCharacters:t.allowedCharacters},i=!0)),t.allowedLocales&&e&&(tr(e.allowedLocales,t.allowedLocales)||(e={...e,allowedLocales:t.allowedLocales},i=!0));const n=super.applyUpdate(e,t);return i?new Hv(n.newValue,!0):n}validate(e){if(!e||typeof e!="object")return this.defaultValue;const t=e;return{nonBasicASCII:xm(t.nonBasicASCII,zo,[!0,!1,zo]),invisibleCharacters:xe(t.invisibleCharacters,this.defaultValue.invisibleCharacters),ambiguousCharacters:xe(t.ambiguousCharacters,this.defaultValue.ambiguousCharacters),includeComments:xm(t.includeComments,zo,[!0,!1,zo]),includeStrings:xm(t.includeStrings,zo,[!0,!1,zo]),allowedCharacters:this.validateBooleanMap(e.allowedCharacters,this.defaultValue.allowedCharacters),allowedLocales:this.validateBooleanMap(e.allowedLocales,this.defaultValue.allowedLocales)}}validateBooleanMap(e,t){if(typeof e!="object"||!e)return t;const i={};for(const[n,o]of Object.entries(e))o===!0&&(i[n]=!0);return i}}class Doe extends hi{constructor(){const e={enabled:!0,mode:"subwordSmart",showToolbar:"onHover",suppressSuggestions:!1,keepOnBlur:!1,fontFamily:"default"};super(62,"inlineSuggest",e,{"editor.inlineSuggest.enabled":{type:"boolean",default:e.enabled,description:p("inlineSuggest.enabled","Controls whether to automatically show inline suggestions in the editor.")},"editor.inlineSuggest.showToolbar":{type:"string",default:e.showToolbar,enum:["always","onHover","never"],enumDescriptions:[p("inlineSuggest.showToolbar.always","Show the inline suggestion toolbar whenever an inline suggestion is shown."),p("inlineSuggest.showToolbar.onHover","Show the inline suggestion toolbar when hovering over an inline suggestion."),p("inlineSuggest.showToolbar.never","Never show the inline suggestion toolbar.")],description:p("inlineSuggest.showToolbar","Controls when to show the inline suggestion toolbar.")},"editor.inlineSuggest.suppressSuggestions":{type:"boolean",default:e.suppressSuggestions,description:p("inlineSuggest.suppressSuggestions","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:e.fontFamily,description:p("inlineSuggest.fontFamily","Controls the font family of the inline suggestions.")}})}validate(e){if(!e||typeof e!="object")return this.defaultValue;const t=e;return{enabled:xe(t.enabled,this.defaultValue.enabled),mode:Ii(t.mode,this.defaultValue.mode,["prefix","subword","subwordSmart"]),showToolbar:Ii(t.showToolbar,this.defaultValue.showToolbar,["always","onHover","never"]),suppressSuggestions:xe(t.suppressSuggestions,this.defaultValue.suppressSuggestions),keepOnBlur:xe(t.keepOnBlur,this.defaultValue.keepOnBlur),fontFamily:ks.string(t.fontFamily,this.defaultValue.fontFamily)}}}class Loe extends hi{constructor(){const e={enabled:!1,showToolbar:"onHover",fontFamily:"default",keepOnBlur:!1,backgroundColoring:!1};super(63,"experimentalInlineEdit",e,{"editor.experimentalInlineEdit.enabled":{type:"boolean",default:e.enabled,description:p("inlineEdit.enabled","Controls whether to show inline edits in the editor.")},"editor.experimentalInlineEdit.showToolbar":{type:"string",default:e.showToolbar,enum:["always","onHover","never"],enumDescriptions:[p("inlineEdit.showToolbar.always","Show the inline edit toolbar whenever an inline suggestion is shown."),p("inlineEdit.showToolbar.onHover","Show the inline edit toolbar when hovering over an inline suggestion."),p("inlineEdit.showToolbar.never","Never show the inline edit toolbar.")],description:p("inlineEdit.showToolbar","Controls when to show the inline edit toolbar.")},"editor.experimentalInlineEdit.fontFamily":{type:"string",default:e.fontFamily,description:p("inlineEdit.fontFamily","Controls the font family of the inline edit.")},"editor.experimentalInlineEdit.backgroundColoring":{type:"boolean",default:e.backgroundColoring,description:p("inlineEdit.backgroundColoring","Controls whether to color the background of inline edits.")}})}validate(e){if(!e||typeof e!="object")return this.defaultValue;const t=e;return{enabled:xe(t.enabled,this.defaultValue.enabled),showToolbar:Ii(t.showToolbar,this.defaultValue.showToolbar,["always","onHover","never"]),fontFamily:ks.string(t.fontFamily,this.defaultValue.fontFamily),keepOnBlur:xe(t.keepOnBlur,this.defaultValue.keepOnBlur),backgroundColoring:xe(t.backgroundColoring,this.defaultValue.backgroundColoring)}}}class xoe extends hi{constructor(){const e={enabled:ns.bracketPairColorizationOptions.enabled,independentColorPoolPerBracketType:ns.bracketPairColorizationOptions.independentColorPoolPerBracketType};super(15,"bracketPairColorization",e,{"editor.bracketPairColorization.enabled":{type:"boolean",default:e.enabled,markdownDescription:p("bracketPairColorization.enabled","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:e.independentColorPoolPerBracketType,description:p("bracketPairColorization.independentColorPoolPerBracketType","Controls whether each bracket type has its own independent color pool.")}})}validate(e){if(!e||typeof e!="object")return this.defaultValue;const t=e;return{enabled:xe(t.enabled,this.defaultValue.enabled),independentColorPoolPerBracketType:xe(t.independentColorPoolPerBracketType,this.defaultValue.independentColorPoolPerBracketType)}}}class koe extends hi{constructor(){const e={bracketPairs:!1,bracketPairsHorizontal:"active",highlightActiveBracketPair:!0,indentation:!0,highlightActiveIndentation:!0};super(16,"guides",e,{"editor.guides.bracketPairs":{type:["boolean","string"],enum:[!0,"active",!1],enumDescriptions:[p("editor.guides.bracketPairs.true","Enables bracket pair guides."),p("editor.guides.bracketPairs.active","Enables bracket pair guides only for the active bracket pair."),p("editor.guides.bracketPairs.false","Disables bracket pair guides.")],default:e.bracketPairs,description:p("editor.guides.bracketPairs","Controls whether bracket pair guides are enabled or not.")},"editor.guides.bracketPairsHorizontal":{type:["boolean","string"],enum:[!0,"active",!1],enumDescriptions:[p("editor.guides.bracketPairsHorizontal.true","Enables horizontal guides as addition to vertical bracket pair guides."),p("editor.guides.bracketPairsHorizontal.active","Enables horizontal guides only for the active bracket pair."),p("editor.guides.bracketPairsHorizontal.false","Disables horizontal bracket pair guides.")],default:e.bracketPairsHorizontal,description:p("editor.guides.bracketPairsHorizontal","Controls whether horizontal bracket pair guides are enabled or not.")},"editor.guides.highlightActiveBracketPair":{type:"boolean",default:e.highlightActiveBracketPair,description:p("editor.guides.highlightActiveBracketPair","Controls whether the editor should highlight the active bracket pair.")},"editor.guides.indentation":{type:"boolean",default:e.indentation,description:p("editor.guides.indentation","Controls whether the editor should render indent guides.")},"editor.guides.highlightActiveIndentation":{type:["boolean","string"],enum:[!0,"always",!1],enumDescriptions:[p("editor.guides.highlightActiveIndentation.true","Highlights the active indent guide."),p("editor.guides.highlightActiveIndentation.always","Highlights the active indent guide even if bracket guides are highlighted."),p("editor.guides.highlightActiveIndentation.false","Do not highlight the active indent guide.")],default:e.highlightActiveIndentation,description:p("editor.guides.highlightActiveIndentation","Controls whether the editor should highlight the active indent guide.")}})}validate(e){if(!e||typeof e!="object")return this.defaultValue;const t=e;return{bracketPairs:xm(t.bracketPairs,this.defaultValue.bracketPairs,[!0,!1,"active"]),bracketPairsHorizontal:xm(t.bracketPairsHorizontal,this.defaultValue.bracketPairsHorizontal,[!0,!1,"active"]),highlightActiveBracketPair:xe(t.highlightActiveBracketPair,this.defaultValue.highlightActiveBracketPair),indentation:xe(t.indentation,this.defaultValue.indentation),highlightActiveIndentation:xm(t.highlightActiveIndentation,this.defaultValue.highlightActiveIndentation,[!0,!1,"always"])}}}function xm(s,e,t){const i=t.indexOf(s);return i===-1?e:t[i]}class Eoe extends hi{constructor(){const e={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(118,"suggest",e,{"editor.suggest.insertMode":{type:"string",enum:["insert","replace"],enumDescriptions:[p("suggest.insertMode.insert","Insert suggestion without overwriting text right of the cursor."),p("suggest.insertMode.replace","Insert suggestion and overwrite text right of the cursor.")],default:e.insertMode,description:p("suggest.insertMode","Controls whether words are overwritten when accepting completions. Note that this depends on extensions opting into this feature.")},"editor.suggest.filterGraceful":{type:"boolean",default:e.filterGraceful,description:p("suggest.filterGraceful","Controls whether filtering and sorting suggestions accounts for small typos.")},"editor.suggest.localityBonus":{type:"boolean",default:e.localityBonus,description:p("suggest.localityBonus","Controls whether sorting favors words that appear close to the cursor.")},"editor.suggest.shareSuggestSelections":{type:"boolean",default:e.shareSuggestSelections,markdownDescription:p("suggest.shareSuggestSelections","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:[p("suggest.insertMode.always","Always select a suggestion when automatically triggering IntelliSense."),p("suggest.insertMode.never","Never select a suggestion when automatically triggering IntelliSense."),p("suggest.insertMode.whenTriggerCharacter","Select a suggestion only when triggering IntelliSense from a trigger character."),p("suggest.insertMode.whenQuickSuggestion","Select a suggestion only when triggering IntelliSense as you type.")],default:e.selectionMode,markdownDescription:p("suggest.selectionMode","Controls whether a suggestion is selected when the widget shows. Note that this only applies to automatically triggered suggestions (`#editor.quickSuggestions#` and `#editor.suggestOnTriggerCharacters#`) and that a suggestion is always selected when explicitly invoked, e.g via `Ctrl+Space`.")},"editor.suggest.snippetsPreventQuickSuggestions":{type:"boolean",default:e.snippetsPreventQuickSuggestions,description:p("suggest.snippetsPreventQuickSuggestions","Controls whether an active snippet prevents quick suggestions.")},"editor.suggest.showIcons":{type:"boolean",default:e.showIcons,description:p("suggest.showIcons","Controls whether to show or hide icons in suggestions.")},"editor.suggest.showStatusBar":{type:"boolean",default:e.showStatusBar,description:p("suggest.showStatusBar","Controls the visibility of the status bar at the bottom of the suggest widget.")},"editor.suggest.preview":{type:"boolean",default:e.preview,description:p("suggest.preview","Controls whether to preview the suggestion outcome in the editor.")},"editor.suggest.showInlineDetails":{type:"boolean",default:e.showInlineDetails,description:p("suggest.showInlineDetails","Controls whether suggest details show inline with the label or only in the details widget.")},"editor.suggest.maxVisibleSuggestions":{type:"number",deprecationMessage:p("suggest.maxVisibleSuggestions.dep","This setting is deprecated. The suggest widget can now be resized.")},"editor.suggest.filteredTypes":{type:"object",deprecationMessage:p("deprecated","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:p("editor.suggest.showMethods","When enabled IntelliSense shows `method`-suggestions.")},"editor.suggest.showFunctions":{type:"boolean",default:!0,markdownDescription:p("editor.suggest.showFunctions","When enabled IntelliSense shows `function`-suggestions.")},"editor.suggest.showConstructors":{type:"boolean",default:!0,markdownDescription:p("editor.suggest.showConstructors","When enabled IntelliSense shows `constructor`-suggestions.")},"editor.suggest.showDeprecated":{type:"boolean",default:!0,markdownDescription:p("editor.suggest.showDeprecated","When enabled IntelliSense shows `deprecated`-suggestions.")},"editor.suggest.matchOnWordStartOnly":{type:"boolean",default:!0,markdownDescription:p("editor.suggest.matchOnWordStartOnly","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:p("editor.suggest.showFields","When enabled IntelliSense shows `field`-suggestions.")},"editor.suggest.showVariables":{type:"boolean",default:!0,markdownDescription:p("editor.suggest.showVariables","When enabled IntelliSense shows `variable`-suggestions.")},"editor.suggest.showClasses":{type:"boolean",default:!0,markdownDescription:p("editor.suggest.showClasss","When enabled IntelliSense shows `class`-suggestions.")},"editor.suggest.showStructs":{type:"boolean",default:!0,markdownDescription:p("editor.suggest.showStructs","When enabled IntelliSense shows `struct`-suggestions.")},"editor.suggest.showInterfaces":{type:"boolean",default:!0,markdownDescription:p("editor.suggest.showInterfaces","When enabled IntelliSense shows `interface`-suggestions.")},"editor.suggest.showModules":{type:"boolean",default:!0,markdownDescription:p("editor.suggest.showModules","When enabled IntelliSense shows `module`-suggestions.")},"editor.suggest.showProperties":{type:"boolean",default:!0,markdownDescription:p("editor.suggest.showPropertys","When enabled IntelliSense shows `property`-suggestions.")},"editor.suggest.showEvents":{type:"boolean",default:!0,markdownDescription:p("editor.suggest.showEvents","When enabled IntelliSense shows `event`-suggestions.")},"editor.suggest.showOperators":{type:"boolean",default:!0,markdownDescription:p("editor.suggest.showOperators","When enabled IntelliSense shows `operator`-suggestions.")},"editor.suggest.showUnits":{type:"boolean",default:!0,markdownDescription:p("editor.suggest.showUnits","When enabled IntelliSense shows `unit`-suggestions.")},"editor.suggest.showValues":{type:"boolean",default:!0,markdownDescription:p("editor.suggest.showValues","When enabled IntelliSense shows `value`-suggestions.")},"editor.suggest.showConstants":{type:"boolean",default:!0,markdownDescription:p("editor.suggest.showConstants","When enabled IntelliSense shows `constant`-suggestions.")},"editor.suggest.showEnums":{type:"boolean",default:!0,markdownDescription:p("editor.suggest.showEnums","When enabled IntelliSense shows `enum`-suggestions.")},"editor.suggest.showEnumMembers":{type:"boolean",default:!0,markdownDescription:p("editor.suggest.showEnumMembers","When enabled IntelliSense shows `enumMember`-suggestions.")},"editor.suggest.showKeywords":{type:"boolean",default:!0,markdownDescription:p("editor.suggest.showKeywords","When enabled IntelliSense shows `keyword`-suggestions.")},"editor.suggest.showWords":{type:"boolean",default:!0,markdownDescription:p("editor.suggest.showTexts","When enabled IntelliSense shows `text`-suggestions.")},"editor.suggest.showColors":{type:"boolean",default:!0,markdownDescription:p("editor.suggest.showColors","When enabled IntelliSense shows `color`-suggestions.")},"editor.suggest.showFiles":{type:"boolean",default:!0,markdownDescription:p("editor.suggest.showFiles","When enabled IntelliSense shows `file`-suggestions.")},"editor.suggest.showReferences":{type:"boolean",default:!0,markdownDescription:p("editor.suggest.showReferences","When enabled IntelliSense shows `reference`-suggestions.")},"editor.suggest.showCustomcolors":{type:"boolean",default:!0,markdownDescription:p("editor.suggest.showCustomcolors","When enabled IntelliSense shows `customcolor`-suggestions.")},"editor.suggest.showFolders":{type:"boolean",default:!0,markdownDescription:p("editor.suggest.showFolders","When enabled IntelliSense shows `folder`-suggestions.")},"editor.suggest.showTypeParameters":{type:"boolean",default:!0,markdownDescription:p("editor.suggest.showTypeParameters","When enabled IntelliSense shows `typeParameter`-suggestions.")},"editor.suggest.showSnippets":{type:"boolean",default:!0,markdownDescription:p("editor.suggest.showSnippets","When enabled IntelliSense shows `snippet`-suggestions.")},"editor.suggest.showUsers":{type:"boolean",default:!0,markdownDescription:p("editor.suggest.showUsers","When enabled IntelliSense shows `user`-suggestions.")},"editor.suggest.showIssues":{type:"boolean",default:!0,markdownDescription:p("editor.suggest.showIssues","When enabled IntelliSense shows `issues`-suggestions.")}})}validate(e){if(!e||typeof e!="object")return this.defaultValue;const t=e;return{insertMode:Ii(t.insertMode,this.defaultValue.insertMode,["insert","replace"]),filterGraceful:xe(t.filterGraceful,this.defaultValue.filterGraceful),snippetsPreventQuickSuggestions:xe(t.snippetsPreventQuickSuggestions,this.defaultValue.filterGraceful),localityBonus:xe(t.localityBonus,this.defaultValue.localityBonus),shareSuggestSelections:xe(t.shareSuggestSelections,this.defaultValue.shareSuggestSelections),selectionMode:Ii(t.selectionMode,this.defaultValue.selectionMode,["always","never","whenQuickSuggestion","whenTriggerCharacter"]),showIcons:xe(t.showIcons,this.defaultValue.showIcons),showStatusBar:xe(t.showStatusBar,this.defaultValue.showStatusBar),preview:xe(t.preview,this.defaultValue.preview),previewMode:Ii(t.previewMode,this.defaultValue.previewMode,["prefix","subword","subwordSmart"]),showInlineDetails:xe(t.showInlineDetails,this.defaultValue.showInlineDetails),showMethods:xe(t.showMethods,this.defaultValue.showMethods),showFunctions:xe(t.showFunctions,this.defaultValue.showFunctions),showConstructors:xe(t.showConstructors,this.defaultValue.showConstructors),showDeprecated:xe(t.showDeprecated,this.defaultValue.showDeprecated),matchOnWordStartOnly:xe(t.matchOnWordStartOnly,this.defaultValue.matchOnWordStartOnly),showFields:xe(t.showFields,this.defaultValue.showFields),showVariables:xe(t.showVariables,this.defaultValue.showVariables),showClasses:xe(t.showClasses,this.defaultValue.showClasses),showStructs:xe(t.showStructs,this.defaultValue.showStructs),showInterfaces:xe(t.showInterfaces,this.defaultValue.showInterfaces),showModules:xe(t.showModules,this.defaultValue.showModules),showProperties:xe(t.showProperties,this.defaultValue.showProperties),showEvents:xe(t.showEvents,this.defaultValue.showEvents),showOperators:xe(t.showOperators,this.defaultValue.showOperators),showUnits:xe(t.showUnits,this.defaultValue.showUnits),showValues:xe(t.showValues,this.defaultValue.showValues),showConstants:xe(t.showConstants,this.defaultValue.showConstants),showEnums:xe(t.showEnums,this.defaultValue.showEnums),showEnumMembers:xe(t.showEnumMembers,this.defaultValue.showEnumMembers),showKeywords:xe(t.showKeywords,this.defaultValue.showKeywords),showWords:xe(t.showWords,this.defaultValue.showWords),showColors:xe(t.showColors,this.defaultValue.showColors),showFiles:xe(t.showFiles,this.defaultValue.showFiles),showReferences:xe(t.showReferences,this.defaultValue.showReferences),showFolders:xe(t.showFolders,this.defaultValue.showFolders),showTypeParameters:xe(t.showTypeParameters,this.defaultValue.showTypeParameters),showSnippets:xe(t.showSnippets,this.defaultValue.showSnippets),showUsers:xe(t.showUsers,this.defaultValue.showUsers),showIssues:xe(t.showIssues,this.defaultValue.showIssues)}}}class Ioe extends hi{constructor(){super(113,"smartSelect",{selectLeadingAndTrailingWhitespace:!0,selectSubwords:!0},{"editor.smartSelect.selectLeadingAndTrailingWhitespace":{description:p("selectLeadingAndTrailingWhitespace","Whether leading and trailing whitespace should always be selected."),default:!0,type:"boolean"},"editor.smartSelect.selectSubwords":{description:p("selectSubwords","Whether subwords (like 'foo' in 'fooBar' or 'foo_bar') should be selected."),default:!0,type:"boolean"}})}validate(e){return!e||typeof e!="object"?this.defaultValue:{selectLeadingAndTrailingWhitespace:xe(e.selectLeadingAndTrailingWhitespace,this.defaultValue.selectLeadingAndTrailingWhitespace),selectSubwords:xe(e.selectSubwords,this.defaultValue.selectSubwords)}}}class Toe extends hi{constructor(){const e=[];super(130,"wordSegmenterLocales",e,{anyOf:[{description:p("wordSegmenterLocales","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:p("wordSegmenterLocales","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(e){if(typeof e=="string"&&(e=[e]),Array.isArray(e)){const t=[];for(const i of e)if(typeof i=="string")try{Intl.Segmenter.supportedLocalesOf(i).length>0&&t.push(i)}catch{}return t}return this.defaultValue}}class Noe extends hi{constructor(){super(138,"wrappingIndent",1,{"editor.wrappingIndent":{type:"string",enum:["none","same","indent","deepIndent"],enumDescriptions:[p("wrappingIndent.none","No indentation. Wrapped lines begin at column 1."),p("wrappingIndent.same","Wrapped lines get the same indentation as the parent."),p("wrappingIndent.indent","Wrapped lines get +1 indentation toward the parent."),p("wrappingIndent.deepIndent","Wrapped lines get +2 indentation toward the parent.")],description:p("wrappingIndent","Controls the indentation of wrapped lines."),default:"same"}})}validate(e){switch(e){case"none":return 0;case"same":return 1;case"indent":return 2;case"deepIndent":return 3}return 1}compute(e,t,i){return t.get(2)===2?0:i}}class Aoe extends a1{constructor(){super(146)}compute(e,t,i){const n=t.get(145);return{isDominatedByLongLines:e.isDominatedByLongLines,isWordWrapMinified:n.isWordWrapMinified,isViewportWrapping:n.isViewportWrapping,wrappingColumn:n.wrappingColumn}}}class Moe extends hi{constructor(){const e={enabled:!0,showDropSelector:"afterDrop"};super(36,"dropIntoEditor",e,{"editor.dropIntoEditor.enabled":{type:"boolean",default:e.enabled,markdownDescription:p("dropIntoEditor.enabled","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:p("dropIntoEditor.showDropSelector","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:[p("dropIntoEditor.showDropSelector.afterDrop","Show the drop selector widget after a file is dropped into the editor."),p("dropIntoEditor.showDropSelector.never","Never show the drop selector widget. Instead the default drop provider is always used.")],default:"afterDrop"}})}validate(e){if(!e||typeof e!="object")return this.defaultValue;const t=e;return{enabled:xe(t.enabled,this.defaultValue.enabled),showDropSelector:Ii(t.showDropSelector,this.defaultValue.showDropSelector,["afterDrop","never"])}}}class Roe extends hi{constructor(){const e={enabled:!0,showPasteSelector:"afterPaste"};super(85,"pasteAs",e,{"editor.pasteAs.enabled":{type:"boolean",default:e.enabled,markdownDescription:p("pasteAs.enabled","Controls whether you can paste content in different ways.")},"editor.pasteAs.showPasteSelector":{type:"string",markdownDescription:p("pasteAs.showPasteSelector","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:[p("pasteAs.showPasteSelector.afterPaste","Show the paste selector widget after content is pasted into the editor."),p("pasteAs.showPasteSelector.never","Never show the paste selector widget. Instead the default pasting behavior is always used.")],default:"afterPaste"}})}validate(e){if(!e||typeof e!="object")return this.defaultValue;const t=e;return{enabled:xe(t.enabled,this.defaultValue.enabled),showPasteSelector:Ii(t.showPasteSelector,this.defaultValue.showPasteSelector,["afterPaste","never"])}}}const Poe="Consolas, 'Courier New', monospace",Foe="Menlo, Monaco, 'Courier New', monospace",Ooe="'Droid Sans Mono', 'monospace', monospace",co={fontFamily:lt?Foe:$s?Ooe:Poe,fontWeight:"normal",fontSize:lt?12:14,lineHeight:0,letterSpacing:0},Jp=[];function ie(s){return Jp[s.id]=s,s}const hl={acceptSuggestionOnCommitCharacter:ie(new Ct(0,"acceptSuggestionOnCommitCharacter",!0,{markdownDescription:p("acceptSuggestionOnCommitCharacter","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:ie(new yi(1,"acceptSuggestionOnEnter","on",["on","smart","off"],{markdownEnumDescriptions:["",p("acceptSuggestionOnEnterSmart","Only accept a suggestion with `Enter` when it makes a textual change."),""],markdownDescription:p("acceptSuggestionOnEnter","Controls whether suggestions should be accepted on `Enter`, in addition to `Tab`. Helps to avoid ambiguity between inserting new lines or accepting suggestions.")})),accessibilitySupport:ie(new Xse),accessibilityPageSize:ie(new zt(3,"accessibilityPageSize",10,1,1073741824,{description:p("accessibilityPageSize","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:ie(new ks(4,"ariaLabel",p("editorViewAccessibleLabel","Editor content"))),ariaRequired:ie(new Ct(5,"ariaRequired",!1,void 0)),screenReaderAnnounceInlineSuggestion:ie(new Ct(8,"screenReaderAnnounceInlineSuggestion",!0,{description:p("screenReaderAnnounceInlineSuggestion","Control whether inline suggestions are announced by a screen reader."),tags:["accessibility"]})),autoClosingBrackets:ie(new yi(6,"autoClosingBrackets","languageDefined",["always","languageDefined","beforeWhitespace","never"],{enumDescriptions:["",p("editor.autoClosingBrackets.languageDefined","Use language configurations to determine when to autoclose brackets."),p("editor.autoClosingBrackets.beforeWhitespace","Autoclose brackets only when the cursor is to the left of whitespace."),""],description:p("autoClosingBrackets","Controls whether the editor should automatically close brackets after the user adds an opening bracket.")})),autoClosingComments:ie(new yi(7,"autoClosingComments","languageDefined",["always","languageDefined","beforeWhitespace","never"],{enumDescriptions:["",p("editor.autoClosingComments.languageDefined","Use language configurations to determine when to autoclose comments."),p("editor.autoClosingComments.beforeWhitespace","Autoclose comments only when the cursor is to the left of whitespace."),""],description:p("autoClosingComments","Controls whether the editor should automatically close comments after the user adds an opening comment.")})),autoClosingDelete:ie(new yi(9,"autoClosingDelete","auto",["always","auto","never"],{enumDescriptions:["",p("editor.autoClosingDelete.auto","Remove adjacent closing quotes or brackets only if they were automatically inserted."),""],description:p("autoClosingDelete","Controls whether the editor should remove adjacent closing quotes or brackets when deleting.")})),autoClosingOvertype:ie(new yi(10,"autoClosingOvertype","auto",["always","auto","never"],{enumDescriptions:["",p("editor.autoClosingOvertype.auto","Type over closing quotes or brackets only if they were automatically inserted."),""],description:p("autoClosingOvertype","Controls whether the editor should type over closing quotes or brackets.")})),autoClosingQuotes:ie(new yi(11,"autoClosingQuotes","languageDefined",["always","languageDefined","beforeWhitespace","never"],{enumDescriptions:["",p("editor.autoClosingQuotes.languageDefined","Use language configurations to determine when to autoclose quotes."),p("editor.autoClosingQuotes.beforeWhitespace","Autoclose quotes only when the cursor is to the left of whitespace."),""],description:p("autoClosingQuotes","Controls whether the editor should automatically close quotes after the user adds an opening quote.")})),autoIndent:ie(new dw(12,"autoIndent",4,"full",["none","keep","brackets","advanced","full"],Zse,{enumDescriptions:[p("editor.autoIndent.none","The editor will not insert indentation automatically."),p("editor.autoIndent.keep","The editor will keep the current line's indentation."),p("editor.autoIndent.brackets","The editor will keep the current line's indentation and honor language defined brackets."),p("editor.autoIndent.advanced","The editor will keep the current line's indentation, honor language defined brackets and invoke special onEnterRules defined by languages."),p("editor.autoIndent.full","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:p("autoIndent","Controls whether the editor should automatically adjust the indentation when users type, paste, move or indent lines.")})),automaticLayout:ie(new Ct(13,"automaticLayout",!1)),autoSurround:ie(new yi(14,"autoSurround","languageDefined",["languageDefined","quotes","brackets","never"],{enumDescriptions:[p("editor.autoSurround.languageDefined","Use language configurations to determine when to automatically surround selections."),p("editor.autoSurround.quotes","Surround with quotes but not brackets."),p("editor.autoSurround.brackets","Surround with brackets but not quotes."),""],description:p("autoSurround","Controls whether the editor should automatically surround selections when typing quotes or brackets.")})),bracketPairColorization:ie(new xoe),bracketPairGuides:ie(new koe),stickyTabStops:ie(new Ct(116,"stickyTabStops",!1,{description:p("stickyTabStops","Emulate selection behavior of tab characters when using spaces for indentation. Selection will stick to tab stops.")})),codeLens:ie(new Ct(17,"codeLens",!0,{description:p("codeLens","Controls whether the editor shows CodeLens.")})),codeLensFontFamily:ie(new ks(18,"codeLensFontFamily","",{description:p("codeLensFontFamily","Controls the font family for CodeLens.")})),codeLensFontSize:ie(new zt(19,"codeLensFontSize",0,0,100,{type:"number",default:0,minimum:0,maximum:100,markdownDescription:p("codeLensFontSize","Controls the font size in pixels for CodeLens. When set to 0, 90% of `#editor.fontSize#` is used.")})),colorDecorators:ie(new Ct(20,"colorDecorators",!0,{description:p("colorDecorators","Controls whether the editor should render the inline color decorators and color picker.")})),colorDecoratorActivatedOn:ie(new yi(148,"colorDecoratorsActivatedOn","clickAndHover",["clickAndHover","hover","click"],{enumDescriptions:[p("editor.colorDecoratorActivatedOn.clickAndHover","Make the color picker appear both on click and hover of the color decorator"),p("editor.colorDecoratorActivatedOn.hover","Make the color picker appear on hover of the color decorator"),p("editor.colorDecoratorActivatedOn.click","Make the color picker appear on click of the color decorator")],description:p("colorDecoratorActivatedOn","Controls the condition to make a color picker appear from a color decorator")})),colorDecoratorsLimit:ie(new zt(21,"colorDecoratorsLimit",500,1,1e6,{markdownDescription:p("colorDecoratorsLimit","Controls the max number of color decorators that can be rendered in an editor at once.")})),columnSelection:ie(new Ct(22,"columnSelection",!1,{description:p("columnSelection","Enable that the selection with the mouse and keys is doing column selection.")})),comments:ie(new Yse),contextmenu:ie(new Ct(24,"contextmenu",!0)),copyWithSyntaxHighlighting:ie(new Ct(25,"copyWithSyntaxHighlighting",!0,{description:p("copyWithSyntaxHighlighting","Controls whether syntax highlighting should be copied into the clipboard.")})),cursorBlinking:ie(new dw(26,"cursorBlinking",1,"blink",["blink","smooth","phase","expand","solid"],Qse,{description:p("cursorBlinking","Control the cursor animation style.")})),cursorSmoothCaretAnimation:ie(new yi(27,"cursorSmoothCaretAnimation","off",["off","explicit","on"],{enumDescriptions:[p("cursorSmoothCaretAnimation.off","Smooth caret animation is disabled."),p("cursorSmoothCaretAnimation.explicit","Smooth caret animation is enabled only when the user moves the cursor with an explicit gesture."),p("cursorSmoothCaretAnimation.on","Smooth caret animation is always enabled.")],description:p("cursorSmoothCaretAnimation","Controls whether the smooth caret animation should be enabled.")})),cursorStyle:ie(new dw(28,"cursorStyle",Hn.Line,"line",["line","block","underline","line-thin","block-outline","underline-thin"],Jse,{description:p("cursorStyle","Controls the cursor style.")})),cursorSurroundingLines:ie(new zt(29,"cursorSurroundingLines",0,0,1073741824,{description:p("cursorSurroundingLines","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:ie(new yi(30,"cursorSurroundingLinesStyle","default",["default","all"],{enumDescriptions:[p("cursorSurroundingLinesStyle.default","`cursorSurroundingLines` is enforced only when triggered via the keyboard or API."),p("cursorSurroundingLinesStyle.all","`cursorSurroundingLines` is enforced always.")],markdownDescription:p("cursorSurroundingLinesStyle","Controls when `#editor.cursorSurroundingLines#` should be enforced.")})),cursorWidth:ie(new zt(31,"cursorWidth",0,0,1073741824,{markdownDescription:p("cursorWidth","Controls the width of the cursor when `#editor.cursorStyle#` is set to `line`.")})),disableLayerHinting:ie(new Ct(32,"disableLayerHinting",!1)),disableMonospaceOptimizations:ie(new Ct(33,"disableMonospaceOptimizations",!1)),domReadOnly:ie(new Ct(34,"domReadOnly",!1)),dragAndDrop:ie(new Ct(35,"dragAndDrop",!0,{description:p("dragAndDrop","Controls whether the editor should allow moving selections via drag and drop.")})),emptySelectionClipboard:ie(new toe),dropIntoEditor:ie(new Moe),stickyScroll:ie(new doe),experimentalWhitespaceRendering:ie(new yi(38,"experimentalWhitespaceRendering","svg",["svg","font","off"],{enumDescriptions:[p("experimentalWhitespaceRendering.svg","Use a new rendering method with svgs."),p("experimentalWhitespaceRendering.font","Use a new rendering method with font characters."),p("experimentalWhitespaceRendering.off","Use the stable rendering method.")],description:p("experimentalWhitespaceRendering","Controls whether whitespace is rendered with a new, experimental method.")})),extraEditorClassName:ie(new ks(39,"extraEditorClassName","")),fastScrollSensitivity:ie(new kr(40,"fastScrollSensitivity",5,s=>s<=0?5:s,{markdownDescription:p("fastScrollSensitivity","Scrolling speed multiplier when pressing `Alt`.")})),find:ie(new ioe),fixedOverflowWidgets:ie(new Ct(42,"fixedOverflowWidgets",!1)),folding:ie(new Ct(43,"folding",!0,{description:p("folding","Controls whether the editor has code folding enabled.")})),foldingStrategy:ie(new yi(44,"foldingStrategy","auto",["auto","indentation"],{enumDescriptions:[p("foldingStrategy.auto","Use a language-specific folding strategy if available, else the indentation-based one."),p("foldingStrategy.indentation","Use the indentation-based folding strategy.")],description:p("foldingStrategy","Controls the strategy for computing folding ranges.")})),foldingHighlight:ie(new Ct(45,"foldingHighlight",!0,{description:p("foldingHighlight","Controls whether the editor should highlight folded ranges.")})),foldingImportsByDefault:ie(new Ct(46,"foldingImportsByDefault",!1,{description:p("foldingImportsByDefault","Controls whether the editor automatically collapses import ranges.")})),foldingMaximumRegions:ie(new zt(47,"foldingMaximumRegions",5e3,10,65e3,{description:p("foldingMaximumRegions","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:ie(new Ct(48,"unfoldOnClickAfterEndOfLine",!1,{description:p("unfoldOnClickAfterEndOfLine","Controls whether clicking on the empty content after a folded line will unfold the line.")})),fontFamily:ie(new ks(49,"fontFamily",co.fontFamily,{description:p("fontFamily","Controls the font family.")})),fontInfo:ie(new noe),fontLigatures2:ie(new Zo),fontSize:ie(new soe),fontWeight:ie(new Vl),fontVariations:ie(new $a),formatOnPaste:ie(new Ct(55,"formatOnPaste",!1,{description:p("formatOnPaste","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:ie(new Ct(56,"formatOnType",!1,{description:p("formatOnType","Controls whether the editor should automatically format the line after typing.")})),glyphMargin:ie(new Ct(57,"glyphMargin",!0,{description:p("glyphMargin","Controls whether the editor should render the vertical glyph margin. Glyph margin is mostly used for debugging.")})),gotoLocation:ie(new ooe),hideCursorInOverviewRuler:ie(new Ct(59,"hideCursorInOverviewRuler",!1,{description:p("hideCursorInOverviewRuler","Controls whether the cursor should be hidden in the overview ruler.")})),hover:ie(new roe),inDiffEditor:ie(new Ct(61,"inDiffEditor",!1)),letterSpacing:ie(new kr(64,"letterSpacing",co.letterSpacing,s=>kr.clamp(s,-5,20),{description:p("letterSpacing","Controls the letter spacing in pixels.")})),lightbulb:ie(new loe),lineDecorationsWidth:ie(new uoe),lineHeight:ie(new hoe),lineNumbers:ie(new boe),lineNumbersMinChars:ie(new zt(69,"lineNumbersMinChars",5,1,300)),linkedEditing:ie(new Ct(70,"linkedEditing",!1,{description:p("linkedEditing","Controls whether the editor has linked editing enabled. Depending on the language, related symbols such as HTML tags, are updated while editing.")})),links:ie(new Ct(71,"links",!0,{description:p("links","Controls whether the editor should detect links and make them clickable.")})),matchBrackets:ie(new yi(72,"matchBrackets","always",["always","near","never"],{description:p("matchBrackets","Highlight matching brackets.")})),minimap:ie(new goe),mouseStyle:ie(new yi(74,"mouseStyle","text",["text","default","copy"])),mouseWheelScrollSensitivity:ie(new kr(75,"mouseWheelScrollSensitivity",1,s=>s===0?1:s,{markdownDescription:p("mouseWheelScrollSensitivity","A multiplier to be used on the `deltaX` and `deltaY` of mouse wheel scroll events.")})),mouseWheelZoom:ie(new Ct(76,"mouseWheelZoom",!1,{markdownDescription:lt?p("mouseWheelZoom.mac","Zoom the font of the editor when using mouse wheel and holding `Cmd`."):p("mouseWheelZoom","Zoom the font of the editor when using mouse wheel and holding `Ctrl`.")})),multiCursorMergeOverlapping:ie(new Ct(77,"multiCursorMergeOverlapping",!0,{description:p("multiCursorMergeOverlapping","Merge multiple cursors when they are overlapping.")})),multiCursorModifier:ie(new dw(78,"multiCursorModifier","altKey","alt",["ctrlCmd","alt"],foe,{markdownEnumDescriptions:[p("multiCursorModifier.ctrlCmd","Maps to `Control` on Windows and Linux and to `Command` on macOS."),p("multiCursorModifier.alt","Maps to `Alt` on Windows and Linux and to `Option` on macOS.")],markdownDescription:p({},"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:ie(new yi(79,"multiCursorPaste","spread",["spread","full"],{markdownEnumDescriptions:[p("multiCursorPaste.spread","Each cursor pastes a single line of the text."),p("multiCursorPaste.full","Each cursor pastes the full text.")],markdownDescription:p("multiCursorPaste","Controls pasting when the line count of the pasted text matches the cursor count.")})),multiCursorLimit:ie(new zt(80,"multiCursorLimit",1e4,1,1e5,{markdownDescription:p("multiCursorLimit","Controls the max number of cursors that can be in an active editor at once.")})),occurrencesHighlight:ie(new yi(81,"occurrencesHighlight","singleFile",["off","singleFile","multiFile"],{markdownEnumDescriptions:[p("occurrencesHighlight.off","Does not highlight occurrences."),p("occurrencesHighlight.singleFile","Highlights occurrences only in the current file."),p("occurrencesHighlight.multiFile","Experimental: Highlights occurrences across all valid open files.")],markdownDescription:p("occurrencesHighlight","Controls whether occurrences should be highlighted across open files.")})),overviewRulerBorder:ie(new Ct(82,"overviewRulerBorder",!0,{description:p("overviewRulerBorder","Controls whether a border should be drawn around the overview ruler.")})),overviewRulerLanes:ie(new zt(83,"overviewRulerLanes",3,0,3)),padding:ie(new poe),pasteAs:ie(new Roe),parameterHints:ie(new moe),peekWidgetDefaultFocus:ie(new yi(87,"peekWidgetDefaultFocus","tree",["tree","editor"],{enumDescriptions:[p("peekWidgetDefaultFocus.tree","Focus the tree when opening peek"),p("peekWidgetDefaultFocus.editor","Focus the editor when opening peek")],description:p("peekWidgetDefaultFocus","Controls whether to focus the inline editor or the tree in the peek widget.")})),definitionLinkOpensInPeek:ie(new Ct(88,"definitionLinkOpensInPeek",!1,{description:p("definitionLinkOpensInPeek","Controls whether the Go to Definition mouse gesture always opens the peek widget.")})),quickSuggestions:ie(new voe),quickSuggestionsDelay:ie(new zt(90,"quickSuggestionsDelay",10,0,1073741824,{description:p("quickSuggestionsDelay","Controls the delay in milliseconds after which quick suggestions will show up.")})),readOnly:ie(new Ct(91,"readOnly",!1)),readOnlyMessage:ie(new woe),renameOnType:ie(new Ct(93,"renameOnType",!1,{description:p("renameOnType","Controls whether the editor auto renames on type."),markdownDeprecationMessage:p("renameOnTypeDeprecate","Deprecated, use `editor.linkedEditing` instead.")})),renderControlCharacters:ie(new Ct(94,"renderControlCharacters",!0,{description:p("renderControlCharacters","Controls whether the editor should render control characters."),restricted:!0})),renderFinalNewline:ie(new yi(95,"renderFinalNewline",$s?"dimmed":"on",["off","on","dimmed"],{description:p("renderFinalNewline","Render last line number when the file ends with a newline.")})),renderLineHighlight:ie(new yi(96,"renderLineHighlight","line",["none","gutter","line","all"],{enumDescriptions:["","","",p("renderLineHighlight.all","Highlights both the gutter and the current line.")],description:p("renderLineHighlight","Controls how the editor should render the current line highlight.")})),renderLineHighlightOnlyWhenFocus:ie(new Ct(97,"renderLineHighlightOnlyWhenFocus",!1,{description:p("renderLineHighlightOnlyWhenFocus","Controls if the editor should render the current line highlight only when the editor is focused.")})),renderValidationDecorations:ie(new yi(98,"renderValidationDecorations","editable",["editable","on","off"])),renderWhitespace:ie(new yi(99,"renderWhitespace","selection",["none","boundary","selection","trailing","all"],{enumDescriptions:["",p("renderWhitespace.boundary","Render whitespace characters except for single spaces between words."),p("renderWhitespace.selection","Render whitespace characters only on selected text."),p("renderWhitespace.trailing","Render only trailing whitespace characters."),""],description:p("renderWhitespace","Controls how the editor should render whitespace characters.")})),revealHorizontalRightPadding:ie(new zt(100,"revealHorizontalRightPadding",15,0,1e3)),roundedSelection:ie(new Ct(101,"roundedSelection",!0,{description:p("roundedSelection","Controls whether selections should have rounded corners.")})),rulers:ie(new Coe),scrollbar:ie(new yoe),scrollBeyondLastColumn:ie(new zt(104,"scrollBeyondLastColumn",4,0,1073741824,{description:p("scrollBeyondLastColumn","Controls the number of extra characters beyond which the editor will scroll horizontally.")})),scrollBeyondLastLine:ie(new Ct(105,"scrollBeyondLastLine",!0,{description:p("scrollBeyondLastLine","Controls whether the editor will scroll beyond the last line.")})),scrollPredominantAxis:ie(new Ct(106,"scrollPredominantAxis",!0,{description:p("scrollPredominantAxis","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:ie(new Ct(107,"selectionClipboard",!0,{description:p("selectionClipboard","Controls whether the Linux primary clipboard should be supported."),included:$s})),selectionHighlight:ie(new Ct(108,"selectionHighlight",!0,{description:p("selectionHighlight","Controls whether the editor should highlight matches similar to the selection.")})),selectOnLineNumbers:ie(new Ct(109,"selectOnLineNumbers",!0)),showFoldingControls:ie(new yi(110,"showFoldingControls","mouseover",["always","never","mouseover"],{enumDescriptions:[p("showFoldingControls.always","Always show the folding controls."),p("showFoldingControls.never","Never show the folding controls and reduce the gutter size."),p("showFoldingControls.mouseover","Only show the folding controls when the mouse is over the gutter.")],description:p("showFoldingControls","Controls when the folding controls on the gutter are shown.")})),showUnused:ie(new Ct(111,"showUnused",!0,{description:p("showUnused","Controls fading out of unused code.")})),showDeprecated:ie(new Ct(140,"showDeprecated",!0,{description:p("showDeprecated","Controls strikethrough deprecated variables.")})),inlayHints:ie(new coe),snippetSuggestions:ie(new yi(112,"snippetSuggestions","inline",["top","bottom","inline","none"],{enumDescriptions:[p("snippetSuggestions.top","Show snippet suggestions on top of other suggestions."),p("snippetSuggestions.bottom","Show snippet suggestions below other suggestions."),p("snippetSuggestions.inline","Show snippets suggestions with other suggestions."),p("snippetSuggestions.none","Do not show snippet suggestions.")],description:p("snippetSuggestions","Controls whether snippets are shown with other suggestions and how they are sorted.")})),smartSelect:ie(new Ioe),smoothScrolling:ie(new Ct(114,"smoothScrolling",!1,{description:p("smoothScrolling","Controls whether the editor will scroll using an animation.")})),stopRenderingLineAfter:ie(new zt(117,"stopRenderingLineAfter",1e4,-1,1073741824)),suggest:ie(new Eoe),inlineSuggest:ie(new Doe),inlineEdit:ie(new Loe),inlineCompletionsAccessibilityVerbose:ie(new Ct(149,"inlineCompletionsAccessibilityVerbose",!1,{description:p("inlineCompletionsAccessibilityVerbose","Controls whether the accessibility hint should be provided to screen reader users when an inline completion is shown.")})),suggestFontSize:ie(new zt(119,"suggestFontSize",0,0,1e3,{markdownDescription:p("suggestFontSize","Font size for the suggest widget. When set to {0}, the value of {1} is used.","`0`","`#editor.fontSize#`")})),suggestLineHeight:ie(new zt(120,"suggestLineHeight",0,0,1e3,{markdownDescription:p("suggestLineHeight","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:ie(new Ct(121,"suggestOnTriggerCharacters",!0,{description:p("suggestOnTriggerCharacters","Controls whether suggestions should automatically show up when typing trigger characters.")})),suggestSelection:ie(new yi(122,"suggestSelection","first",["first","recentlyUsed","recentlyUsedByPrefix"],{markdownEnumDescriptions:[p("suggestSelection.first","Always select the first suggestion."),p("suggestSelection.recentlyUsed","Select recent suggestions unless further typing selects one, e.g. `console.| -> console.log` because `log` has been completed recently."),p("suggestSelection.recentlyUsedByPrefix","Select suggestions based on previous prefixes that have completed those suggestions, e.g. `co -> console` and `con -> const`.")],description:p("suggestSelection","Controls how suggestions are pre-selected when showing the suggest list.")})),tabCompletion:ie(new yi(123,"tabCompletion","off",["on","off","onlySnippets"],{enumDescriptions:[p("tabCompletion.on","Tab complete will insert the best matching suggestion when pressing tab."),p("tabCompletion.off","Disable tab completions."),p("tabCompletion.onlySnippets","Tab complete snippets when their prefix match. Works best when 'quickSuggestions' aren't enabled.")],description:p("tabCompletion","Enables tab completions.")})),tabIndex:ie(new zt(124,"tabIndex",0,-1,1073741824)),unicodeHighlight:ie(new Soe),unusualLineTerminators:ie(new yi(126,"unusualLineTerminators","prompt",["auto","off","prompt"],{enumDescriptions:[p("unusualLineTerminators.auto","Unusual line terminators are automatically removed."),p("unusualLineTerminators.off","Unusual line terminators are ignored."),p("unusualLineTerminators.prompt","Unusual line terminators prompt to be removed.")],description:p("unusualLineTerminators","Remove unusual line terminators that might cause problems.")})),useShadowDOM:ie(new Ct(127,"useShadowDOM",!0)),useTabStops:ie(new Ct(128,"useTabStops",!0,{description:p("useTabStops","Spaces and tabs are inserted and deleted in alignment with tab stops.")})),wordBreak:ie(new yi(129,"wordBreak","normal",["normal","keepAll"],{markdownEnumDescriptions:[p("wordBreak.normal","Use the default line break rule."),p("wordBreak.keepAll","Word breaks should not be used for Chinese/Japanese/Korean (CJK) text. Non-CJK text behavior is the same as for normal.")],description:p("wordBreak","Controls the word break rules used for Chinese/Japanese/Korean (CJK) text.")})),wordSegmenterLocales:ie(new Toe),wordSeparators:ie(new ks(131,"wordSeparators",BV,{description:p("wordSeparators","Characters that will be used as word separators when doing word related navigations or operations.")})),wordWrap:ie(new yi(132,"wordWrap","off",["off","on","wordWrapColumn","bounded"],{markdownEnumDescriptions:[p("wordWrap.off","Lines will never wrap."),p("wordWrap.on","Lines will wrap at the viewport width."),p({},"Lines will wrap at `#editor.wordWrapColumn#`."),p({},"Lines will wrap at the minimum of viewport and `#editor.wordWrapColumn#`.")],description:p({},"Controls how lines should wrap.")})),wordWrapBreakAfterCharacters:ie(new ks(133,"wordWrapBreakAfterCharacters"," })]?|/&.,;¢°′″‰℃、。。、¢,.:;?!%・・ゝゞヽヾーァィゥェォッャュョヮヵヶぁぃぅぇぉっゃゅょゎゕゖㇰㇱㇲㇳㇴㇵㇶㇷㇸㇹㇺㇻㇼㇽㇾㇿ々〻ァィゥェォャュョッー”〉》」』】〕)]}」")),wordWrapBreakBeforeCharacters:ie(new ks(134,"wordWrapBreakBeforeCharacters","([{‘“〈《「『【〔([{「£¥$£¥++")),wordWrapColumn:ie(new zt(135,"wordWrapColumn",80,1,1073741824,{markdownDescription:p({},"Controls the wrapping column of the editor when `#editor.wordWrap#` is `wordWrapColumn` or `bounded`.")})),wordWrapOverride1:ie(new yi(136,"wordWrapOverride1","inherit",["off","on","inherit"])),wordWrapOverride2:ie(new yi(137,"wordWrapOverride2","inherit",["off","on","inherit"])),editorClassName:ie(new eoe),defaultColorDecorators:ie(new Ct(147,"defaultColorDecorators",!1,{markdownDescription:p("defaultColorDecorators","Controls whether inline color decorations should be shown using the default document color provider")})),pixelRatio:ie(new _oe),tabFocusMode:ie(new Ct(144,"tabFocusMode",!1,{markdownDescription:p("tabFocusMode","Controls whether the editor receives tabs or defers them to the workbench for navigation.")})),layoutInfo:ie(new Lm),wrappingInfo:ie(new Aoe),wrappingIndent:ie(new Noe),wrappingStrategy:ie(new aoe)};class Boe{constructor(){this.listeners=[],this.unexpectedErrorHandler=function(e){setTimeout(()=>{throw e.stack?s_.isErrorNoTelemetry(e)?new s_(e.message+` `+e.stack):new Error(e.message+` `+e.stack):e},0)}}emit(e){this.listeners.forEach(t=>{t(e)})}onUnexpectedError(e){this.unexpectedErrorHandler(e),this.emit(e)}onUnexpectedExternalError(e){this.unexpectedErrorHandler(e)}}const zV=new Boe;function Xe(s){Id(s)||zV.onUnexpectedError(s)}function Ai(s){Id(s)||zV.onUnexpectedExternalError(s)}function e3(s){if(s instanceof Error){const{name:e,message:t}=s,i=s.stacktrace||s.stack;return{$isError:!0,name:e,message:t,stack:i,noTelemetry:s_.isErrorNoTelemetry(s)}}return s}const NS="Canceled";function Id(s){return s instanceof sl?!0:s instanceof Error&&s.name===NS&&s.message===NS}class sl extends Error{constructor(){super(NS),this.name=this.message}}function Woe(){const s=new Error(NS);return s.name=s.message,s}function Mr(s){return s?new Error(`Illegal argument: ${s}`):new Error("Illegal argument")}function UP(s){return s?new Error(`Illegal state: ${s}`):new Error("Illegal state")}class Hoe extends Error{constructor(e){super("NotSupported"),e&&(this.message=e)}}class s_ extends Error{constructor(e){super(e),this.name="CodeExpectedError"}static fromError(e){if(e instanceof s_)return e;const t=new s_;return t.message=e.message,t.stack=e.stack,t}static isErrorNoTelemetry(e){return e.name==="CodeExpectedError"}}class Ut extends Error{constructor(e){super(e||"An unexpected bug occurred."),Object.setPrototypeOf(this,Ut.prototype)}}function o_(s,e){const t=this;let i=!1,n;return function(){return i||(i=!0,n=s.apply(t,arguments)),n}}function jL(s){return typeof s=="object"&&s!==null&&typeof s.dispose=="function"&&s.dispose.length===0}function jt(s){if(ft.is(s)){const e=[];for(const t of s)if(t)try{t.dispose()}catch(i){e.push(i)}if(e.length===1)throw e[0];if(e.length>1)throw new AggregateError(e,"Encountered errors while disposing of store");return Array.isArray(s)?[]:s}else if(s)return s.dispose(),s}function ha(...s){return Ie(()=>jt(s))}function Ie(s){return{dispose:o_(()=>{s()})}}class Y{constructor(){this._toDispose=new Set,this._isDisposed=!1}dispose(){this._isDisposed||(this._isDisposed=!0,this.clear())}get isDisposed(){return this._isDisposed}clear(){if(this._toDispose.size!==0)try{jt(this._toDispose)}finally{this._toDispose.clear()}}add(e){if(!e)return e;if(e===this)throw new Error("Cannot register a disposable on itself!");return this._isDisposed?Y.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(e),e}deleteAndLeak(e){e&&this._toDispose.has(e)&&this._toDispose.delete(e)}}Y.DISABLE_DISPOSED_WARNING=!1;class H{constructor(){this._store=new Y,this._store}dispose(){this._store.dispose()}_register(e){if(e===this)throw new Error("Cannot register a disposable on itself!");return this._store.add(e)}}H.None=Object.freeze({dispose(){}});class $n{constructor(){this._isDisposed=!1}get value(){return this._isDisposed?void 0:this._value}set value(e){var t;this._isDisposed||e===this._value||((t=this._value)===null||t===void 0||t.dispose(),this._value=e)}clear(){this.value=void 0}dispose(){var e;this._isDisposed=!0,(e=this._value)===null||e===void 0||e.dispose(),this._value=void 0}}class Voe{constructor(e){this._disposable=e,this._counter=1}acquire(){return this._counter++,this}release(){return--this._counter===0&&this._disposable.dispose(),this}}class zoe{constructor(e){this.object=e}dispose(){}}class $P{constructor(){this._store=new Map,this._isDisposed=!1}dispose(){this._isDisposed=!0,this.clearAndDisposeAll()}clearAndDisposeAll(){if(this._store.size)try{jt(this._store.values())}finally{this._store.clear()}}get(e){return this._store.get(e)}set(e,t,i=!1){var n;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),i||(n=this._store.get(e))===null||n===void 0||n.dispose(),this._store.set(e,t)}deleteAndDispose(e){var t;(t=this._store.get(e))===null||t===void 0||t.dispose(),this._store.delete(e)}[Symbol.iterator](){return this._store[Symbol.iterator]()}}const Uoe=globalThis.performance&&typeof globalThis.performance.now=="function";class Jn{static create(e){return new Jn(e)}constructor(e){this._now=Uoe&&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}}var le;(function(s){s.None=()=>H.None;function e(R,P){return u(R,()=>{},0,void 0,!0,void 0,P)}s.defer=e;function t(R){return(P,F=null,V)=>{let U=!1,J;return J=R(pe=>{if(!U)return J?J.dispose():U=!0,P.call(F,pe)},null,V),U&&J.dispose(),J}}s.once=t;function i(R,P,F){return d((V,U=null,J)=>R(pe=>V.call(U,P(pe)),null,J),F)}s.map=i;function n(R,P,F){return d((V,U=null,J)=>R(pe=>{P(pe),V.call(U,pe)},null,J),F)}s.forEach=n;function o(R,P,F){return d((V,U=null,J)=>R(pe=>P(pe)&&V.call(U,pe),null,J),F)}s.filter=o;function r(R){return R}s.signal=r;function a(...R){return(P,F=null,V)=>{const U=ha(...R.map(J=>J(pe=>P.call(F,pe))));return c(U,V)}}s.any=a;function l(R,P,F,V){let U=F;return i(R,J=>(U=P(U,J),U),V)}s.reduce=l;function d(R,P){let F;const V={onWillAddFirstListener(){F=R(U.fire,U)},onDidRemoveLastListener(){F==null||F.dispose()}},U=new B(V);return P==null||P.add(U),U.event}function c(R,P){return P instanceof Array?P.push(R):P&&P.add(R),R}function u(R,P,F=100,V=!1,U=!1,J,pe){let De,ge,We,ye=0,ve;const ce={leakWarningThreshold:J,onWillAddFirstListener(){De=R(Ui=>{ye++,ge=P(ge,Ui),V&&!We&&(Qt.fire(ge),ge=void 0),ve=()=>{const Gi=ge;ge=void 0,We=void 0,(!V||ye>1)&&Qt.fire(Gi),ye=0},typeof F=="number"?(clearTimeout(We),We=setTimeout(ve,F)):We===void 0&&(We=0,queueMicrotask(ve))})},onWillRemoveListener(){U&&ye>0&&(ve==null||ve())},onDidRemoveLastListener(){ve=void 0,De.dispose()}},Qt=new B(ce);return pe==null||pe.add(Qt),Qt.event}s.debounce=u;function h(R,P=0,F){return s.debounce(R,(V,U)=>V?(V.push(U),V):[U],P,void 0,!0,void 0,F)}s.accumulate=h;function g(R,P=(V,U)=>V===U,F){let V=!0,U;return o(R,J=>{const pe=V||!P(J,U);return V=!1,U=J,pe},F)}s.latch=g;function f(R,P,F){return[s.filter(R,P,F),s.filter(R,V=>!P(V),F)]}s.split=f;function m(R,P=!1,F=[],V){let U=F.slice(),J=R(ge=>{U?U.push(ge):De.fire(ge)});V&&V.add(J);const pe=()=>{U==null||U.forEach(ge=>De.fire(ge)),U=null},De=new B({onWillAddFirstListener(){J||(J=R(ge=>De.fire(ge)),V&&V.add(J))},onDidAddFirstListener(){U&&(P?setTimeout(pe):pe())},onDidRemoveLastListener(){J&&J.dispose(),J=null}});return V&&V.add(De),De.event}s.buffer=m;function _(R,P){return(V,U,J)=>{const pe=P(new b);return R(function(De){const ge=pe.evaluate(De);ge!==v&&V.call(U,ge)},void 0,J)}}s.chain=_;const v=Symbol("HaltChainable");class b{constructor(){this.steps=[]}map(P){return this.steps.push(P),this}forEach(P){return this.steps.push(F=>(P(F),F)),this}filter(P){return this.steps.push(F=>P(F)?F:v),this}reduce(P,F){let V=F;return this.steps.push(U=>(V=P(V,U),V)),this}latch(P=(F,V)=>F===V){let F=!0,V;return this.steps.push(U=>{const J=F||!P(U,V);return F=!1,V=U,J?U:v}),this}evaluate(P){for(const F of this.steps)if(P=F(P),P===v)break;return P}}function C(R,P,F=V=>V){const V=(...De)=>pe.fire(F(...De)),U=()=>R.on(P,V),J=()=>R.removeListener(P,V),pe=new B({onWillAddFirstListener:U,onDidRemoveLastListener:J});return pe.event}s.fromNodeEventEmitter=C;function w(R,P,F=V=>V){const V=(...De)=>pe.fire(F(...De)),U=()=>R.addEventListener(P,V),J=()=>R.removeEventListener(P,V),pe=new B({onWillAddFirstListener:U,onDidRemoveLastListener:J});return pe.event}s.fromDOMEventEmitter=w;function y(R){return new Promise(P=>t(R)(P))}s.toPromise=y;function D(R){const P=new B;return R.then(F=>{P.fire(F)},()=>{P.fire(void 0)}).finally(()=>{P.dispose()}),P.event}s.fromPromise=D;function L(R,P,F){return P(F),R(V=>P(V))}s.runAndSubscribe=L;class k{constructor(P,F){this._observable=P,this._counter=0,this._hasChanged=!1;const V={onWillAddFirstListener:()=>{P.addObserver(this)},onDidRemoveLastListener:()=>{P.removeObserver(this)}};this.emitter=new B(V),F&&F.add(this.emitter)}beginUpdate(P){this._counter++}handlePossibleChange(P){}handleChange(P,F){this._hasChanged=!0}endUpdate(P){this._counter--,this._counter===0&&(this._observable.reportChanges(),this._hasChanged&&(this._hasChanged=!1,this.emitter.fire(this._observable.get())))}}function I(R,P){return new k(R,P).emitter.event}s.fromObservable=I;function O(R){return(P,F,V)=>{let U=0,J=!1;const pe={beginUpdate(){U++},endUpdate(){U--,U===0&&(R.reportChanges(),J&&(J=!1,P.call(F)))},handlePossibleChange(){},handleChange(){J=!0}};R.addObserver(pe),R.reportChanges();const De={dispose(){R.removeObserver(pe)}};return V instanceof Y?V.add(De):Array.isArray(V)&&V.push(De),De}}s.fromObservableLight=O})(le||(le={}));class r_{constructor(e){this.listenerCount=0,this.invocationCount=0,this.elapsedOverall=0,this.durations=[],this.name=`${e}_${r_._idPool++}`,r_.all.add(this)}start(e){this._stopWatch=new Jn,this.listenerCount=e}stop(){if(this._stopWatch){const e=this._stopWatch.elapsed();this.durations.push(e),this.elapsedOverall+=e,this.invocationCount+=1,this._stopWatch=void 0}}}r_.all=new Set;r_._idPool=0;let $oe=-1;class joe{constructor(e,t=Math.random().toString(18).slice(2,5)){this.threshold=e,this.name=t,this._warnCountdown=0}dispose(){var e;(e=this._stacks)===null||e===void 0||e.clear()}check(e,t){const i=this.threshold;if(i<=0||t{const o=this._stacks.get(e.value)||0;this._stacks.set(e.value,o-1)}}}class jP{static create(){var e;return new jP((e=new Error().stack)!==null&&e!==void 0?e:"")}constructor(e){this.value=e}print(){console.warn(this.value.split(` `).slice(2).join(` `))}}class NE{constructor(e){this.value=e}}const Koe=2;let B=class{constructor(e){var t,i,n,o,r;this._size=0,this._options=e,this._leakageMon=!((t=this._options)===null||t===void 0)&&t.leakWarningThreshold?new joe((n=(i=this._options)===null||i===void 0?void 0:i.leakWarningThreshold)!==null&&n!==void 0?n:$oe):void 0,this._perfMon=!((o=this._options)===null||o===void 0)&&o._profName?new r_(this._options._profName):void 0,this._deliveryQueue=(r=this._options)===null||r===void 0?void 0:r.deliveryQueue}dispose(){var e,t,i,n;this._disposed||(this._disposed=!0,((e=this._deliveryQueue)===null||e===void 0?void 0:e.current)===this&&this._deliveryQueue.reset(),this._listeners&&(this._listeners=void 0,this._size=0),(i=(t=this._options)===null||t===void 0?void 0:t.onDidRemoveLastListener)===null||i===void 0||i.call(t),(n=this._leakageMon)===null||n===void 0||n.dispose())}get event(){var e;return(e=this._event)!==null&&e!==void 0||(this._event=(t,i,n)=>{var o,r,a,l,d;if(this._leakageMon&&this._size>this._leakageMon.threshold*3)return console.warn(`[${this._leakageMon.name}] REFUSES to accept new listeners because it exceeded its threshold by far`),H.None;if(this._disposed)return H.None;i&&(t=t.bind(i));const c=new NE(t);let u;this._leakageMon&&this._size>=Math.ceil(this._leakageMon.threshold*.2)&&(c.stack=jP.create(),u=this._leakageMon.check(c.stack,this._size+1)),this._listeners?this._listeners instanceof NE?((d=this._deliveryQueue)!==null&&d!==void 0||(this._deliveryQueue=new UV),this._listeners=[this._listeners,c]):this._listeners.push(c):((r=(o=this._options)===null||o===void 0?void 0:o.onWillAddFirstListener)===null||r===void 0||r.call(o,this),this._listeners=c,(l=(a=this._options)===null||a===void 0?void 0:a.onDidAddFirstListener)===null||l===void 0||l.call(a,this)),this._size++;const h=Ie(()=>{u==null||u(),this._removeListener(c)});return n instanceof Y?n.add(h):Array.isArray(n)&&n.push(h),h}),this._event}_removeListener(e){var t,i,n,o;if((i=(t=this._options)===null||t===void 0?void 0:t.onWillRemoveListener)===null||i===void 0||i.call(t,this),!this._listeners)return;if(this._size===1){this._listeners=void 0,(o=(n=this._options)===null||n===void 0?void 0:n.onDidRemoveLastListener)===null||o===void 0||o.call(n,this),this._size=0;return}const r=this._listeners,a=r.indexOf(e);if(a===-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--,r[a]=void 0;const l=this._deliveryQueue.current===this;if(this._size*Koe<=r.length){let d=0;for(let c=0;c 0}};const qoe=()=>new UV;class UV{constructor(){this.i=-1,this.end=0}enqueue(e,t,i){this.i=0,this.end=i,this.current=e,this.value=t}reset(){this.i=this.end,this.current=void 0,this.value=void 0}}class bf extends B{constructor(e){super(e),this._isPaused=0,this._eventQueue=new Rs,this._mergeFn=e==null?void 0:e.merge}pause(){this._isPaused++}resume(){if(this._isPaused!==0&&--this._isPaused===0)if(this._mergeFn){if(this._eventQueue.size>0){const e=Array.from(this._eventQueue);this._eventQueue.clear(),super.fire(this._mergeFn(e))}}else for(;!this._isPaused&&this._eventQueue.size!==0;)super.fire(this._eventQueue.shift())}fire(e){this._size&&(this._isPaused!==0?this._eventQueue.push(e):super.fire(e))}}class $V extends bf{constructor(e){var t;super(e),this._delay=(t=e.delay)!==null&&t!==void 0?t:100}fire(e){this._handle||(this.pause(),this._handle=setTimeout(()=>{this._handle=void 0,this.resume()},this._delay)),super.fire(e)}}class Goe extends B{constructor(e){super(e),this._queuedEvents=[],this._mergeFn=e==null?void 0:e.merge}fire(e){this.hasListeners()&&(this._queuedEvents.push(e),this._queuedEvents.length===1&&queueMicrotask(()=>{this._mergeFn?super.fire(this._mergeFn(this._queuedEvents)):this._queuedEvents.forEach(t=>super.fire(t)),this._queuedEvents=[]}))}}class Zoe{constructor(){this.hasListeners=!1,this.events=[],this.emitter=new B({onWillAddFirstListener:()=>this.onFirstListenerAdd(),onDidRemoveLastListener:()=>this.onLastListenerRemove()})}get event(){return this.emitter.event}add(e){const t={event:e,listener:null};return this.events.push(t),this.hasListeners&&this.hook(t),Ie(o_(()=>{this.hasListeners&&this.unhook(t);const n=this.events.indexOf(t);this.events.splice(n,1)}))}onFirstListenerAdd(){this.hasListeners=!0,this.events.forEach(e=>this.hook(e))}onLastListenerRemove(){this.hasListeners=!1,this.events.forEach(e=>this.unhook(e))}hook(e){e.listener=e.event(t=>this.emitter.fire(t))}unhook(e){var t;(t=e.listener)===null||t===void 0||t.dispose(),e.listener=null}dispose(){var e;this.emitter.dispose();for(const t of this.events)(e=t.listener)===null||e===void 0||e.dispose();this.events=[]}}class KP{constructor(){this.buffers=[]}wrapEvent(e){return(t,i,n)=>e(o=>{const r=this.buffers[this.buffers.length-1];r?r.push(()=>t.call(i,o)):t.call(i,o)},void 0,n)}bufferEvents(e){const t=[];this.buffers.push(t);const i=e();return this.buffers.pop(),t.forEach(n=>n()),i}}class t3{constructor(){this.listening=!1,this.inputEvent=le.None,this.inputEventListener=H.None,this.emitter=new B({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(e){this.inputEvent=e,this.listening&&(this.inputEventListener.dispose(),this.inputEventListener=e(this.emitter.fire,this.emitter))}dispose(){this.inputEventListener.dispose(),this.emitter.dispose()}}const jV=Object.freeze(function(s,e){const t=setTimeout(s.bind(e),0);return{dispose(){clearTimeout(t)}}});var dt;(function(s){function e(t){return t===s.None||t===s.Cancelled||t instanceof Fy?!0:!t||typeof t!="object"?!1:typeof t.isCancellationRequested=="boolean"&&typeof t.onCancellationRequested=="function"}s.isCancellationToken=e,s.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:le.None}),s.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:jV})})(dt||(dt={}));class Fy{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?jV:(this._emitter||(this._emitter=new B),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=null)}}let Vi=class{constructor(e){this._token=void 0,this._parentListener=void 0,this._parentListener=e&&e.onCancellationRequested(this.cancel,this)}get token(){return this._token||(this._token=new Fy),this._token}cancel(){this._token?this._token instanceof Fy&&this._token.cancel():this._token=dt.Cancelled}dispose(e=!1){var t;e&&this.cancel(),(t=this._parentListener)===null||t===void 0||t.dispose(),this._token?this._token instanceof Fy&&this._token.dispose():this._token=dt.None}};function i3(s){const e=new Vi;return s.add({dispose(){e.cancel()}}),e.token}class qP{constructor(){this._keyCodeToStr=[],this._strToKeyCode=Object.create(null)}define(e,t){this._keyCodeToStr[e]=t,this._strToKeyCode[t.toLowerCase()]=e}keyCodeToStr(e){return this._keyCodeToStr[e]}strToKeyCode(e){return this._strToKeyCode[e.toLowerCase()]||0}}const Oy=new qP,XT=new qP,YT=new qP,KV=new Array(230),Xoe=Object.create(null),Yoe=Object.create(null),GP=[];for(let s=0;s<=193;s++)GP[s]=-1;(function(){const s="",e=[[1,0,"None",0,"unknown",0,"VK_UNKNOWN",s,s],[1,1,"Hyper",0,s,0,s,s,s],[1,2,"Super",0,s,0,s,s,s],[1,3,"Fn",0,s,0,s,s,s],[1,4,"FnLock",0,s,0,s,s,s],[1,5,"Suspend",0,s,0,s,s,s],[1,6,"Resume",0,s,0,s,s,s],[1,7,"Turbo",0,s,0,s,s,s],[1,8,"Sleep",0,s,0,"VK_SLEEP",s,s],[1,9,"WakeUp",0,s,0,s,s,s],[0,10,"KeyA",31,"A",65,"VK_A",s,s],[0,11,"KeyB",32,"B",66,"VK_B",s,s],[0,12,"KeyC",33,"C",67,"VK_C",s,s],[0,13,"KeyD",34,"D",68,"VK_D",s,s],[0,14,"KeyE",35,"E",69,"VK_E",s,s],[0,15,"KeyF",36,"F",70,"VK_F",s,s],[0,16,"KeyG",37,"G",71,"VK_G",s,s],[0,17,"KeyH",38,"H",72,"VK_H",s,s],[0,18,"KeyI",39,"I",73,"VK_I",s,s],[0,19,"KeyJ",40,"J",74,"VK_J",s,s],[0,20,"KeyK",41,"K",75,"VK_K",s,s],[0,21,"KeyL",42,"L",76,"VK_L",s,s],[0,22,"KeyM",43,"M",77,"VK_M",s,s],[0,23,"KeyN",44,"N",78,"VK_N",s,s],[0,24,"KeyO",45,"O",79,"VK_O",s,s],[0,25,"KeyP",46,"P",80,"VK_P",s,s],[0,26,"KeyQ",47,"Q",81,"VK_Q",s,s],[0,27,"KeyR",48,"R",82,"VK_R",s,s],[0,28,"KeyS",49,"S",83,"VK_S",s,s],[0,29,"KeyT",50,"T",84,"VK_T",s,s],[0,30,"KeyU",51,"U",85,"VK_U",s,s],[0,31,"KeyV",52,"V",86,"VK_V",s,s],[0,32,"KeyW",53,"W",87,"VK_W",s,s],[0,33,"KeyX",54,"X",88,"VK_X",s,s],[0,34,"KeyY",55,"Y",89,"VK_Y",s,s],[0,35,"KeyZ",56,"Z",90,"VK_Z",s,s],[0,36,"Digit1",22,"1",49,"VK_1",s,s],[0,37,"Digit2",23,"2",50,"VK_2",s,s],[0,38,"Digit3",24,"3",51,"VK_3",s,s],[0,39,"Digit4",25,"4",52,"VK_4",s,s],[0,40,"Digit5",26,"5",53,"VK_5",s,s],[0,41,"Digit6",27,"6",54,"VK_6",s,s],[0,42,"Digit7",28,"7",55,"VK_7",s,s],[0,43,"Digit8",29,"8",56,"VK_8",s,s],[0,44,"Digit9",30,"9",57,"VK_9",s,s],[0,45,"Digit0",21,"0",48,"VK_0",s,s],[1,46,"Enter",3,"Enter",13,"VK_RETURN",s,s],[1,47,"Escape",9,"Escape",27,"VK_ESCAPE",s,s],[1,48,"Backspace",1,"Backspace",8,"VK_BACK",s,s],[1,49,"Tab",2,"Tab",9,"VK_TAB",s,s],[1,50,"Space",10,"Space",32,"VK_SPACE",s,s],[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,s,0,s,s,s],[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",s,s],[1,64,"F1",59,"F1",112,"VK_F1",s,s],[1,65,"F2",60,"F2",113,"VK_F2",s,s],[1,66,"F3",61,"F3",114,"VK_F3",s,s],[1,67,"F4",62,"F4",115,"VK_F4",s,s],[1,68,"F5",63,"F5",116,"VK_F5",s,s],[1,69,"F6",64,"F6",117,"VK_F6",s,s],[1,70,"F7",65,"F7",118,"VK_F7",s,s],[1,71,"F8",66,"F8",119,"VK_F8",s,s],[1,72,"F9",67,"F9",120,"VK_F9",s,s],[1,73,"F10",68,"F10",121,"VK_F10",s,s],[1,74,"F11",69,"F11",122,"VK_F11",s,s],[1,75,"F12",70,"F12",123,"VK_F12",s,s],[1,76,"PrintScreen",0,s,0,s,s,s],[1,77,"ScrollLock",84,"ScrollLock",145,"VK_SCROLL",s,s],[1,78,"Pause",7,"PauseBreak",19,"VK_PAUSE",s,s],[1,79,"Insert",19,"Insert",45,"VK_INSERT",s,s],[1,80,"Home",14,"Home",36,"VK_HOME",s,s],[1,81,"PageUp",11,"PageUp",33,"VK_PRIOR",s,s],[1,82,"Delete",20,"Delete",46,"VK_DELETE",s,s],[1,83,"End",13,"End",35,"VK_END",s,s],[1,84,"PageDown",12,"PageDown",34,"VK_NEXT",s,s],[1,85,"ArrowRight",17,"RightArrow",39,"VK_RIGHT","Right",s],[1,86,"ArrowLeft",15,"LeftArrow",37,"VK_LEFT","Left",s],[1,87,"ArrowDown",18,"DownArrow",40,"VK_DOWN","Down",s],[1,88,"ArrowUp",16,"UpArrow",38,"VK_UP","Up",s],[1,89,"NumLock",83,"NumLock",144,"VK_NUMLOCK",s,s],[1,90,"NumpadDivide",113,"NumPad_Divide",111,"VK_DIVIDE",s,s],[1,91,"NumpadMultiply",108,"NumPad_Multiply",106,"VK_MULTIPLY",s,s],[1,92,"NumpadSubtract",111,"NumPad_Subtract",109,"VK_SUBTRACT",s,s],[1,93,"NumpadAdd",109,"NumPad_Add",107,"VK_ADD",s,s],[1,94,"NumpadEnter",3,s,0,s,s,s],[1,95,"Numpad1",99,"NumPad1",97,"VK_NUMPAD1",s,s],[1,96,"Numpad2",100,"NumPad2",98,"VK_NUMPAD2",s,s],[1,97,"Numpad3",101,"NumPad3",99,"VK_NUMPAD3",s,s],[1,98,"Numpad4",102,"NumPad4",100,"VK_NUMPAD4",s,s],[1,99,"Numpad5",103,"NumPad5",101,"VK_NUMPAD5",s,s],[1,100,"Numpad6",104,"NumPad6",102,"VK_NUMPAD6",s,s],[1,101,"Numpad7",105,"NumPad7",103,"VK_NUMPAD7",s,s],[1,102,"Numpad8",106,"NumPad8",104,"VK_NUMPAD8",s,s],[1,103,"Numpad9",107,"NumPad9",105,"VK_NUMPAD9",s,s],[1,104,"Numpad0",98,"NumPad0",96,"VK_NUMPAD0",s,s],[1,105,"NumpadDecimal",112,"NumPad_Decimal",110,"VK_DECIMAL",s,s],[0,106,"IntlBackslash",97,"OEM_102",226,"VK_OEM_102",s,s],[1,107,"ContextMenu",58,"ContextMenu",93,s,s,s],[1,108,"Power",0,s,0,s,s,s],[1,109,"NumpadEqual",0,s,0,s,s,s],[1,110,"F13",71,"F13",124,"VK_F13",s,s],[1,111,"F14",72,"F14",125,"VK_F14",s,s],[1,112,"F15",73,"F15",126,"VK_F15",s,s],[1,113,"F16",74,"F16",127,"VK_F16",s,s],[1,114,"F17",75,"F17",128,"VK_F17",s,s],[1,115,"F18",76,"F18",129,"VK_F18",s,s],[1,116,"F19",77,"F19",130,"VK_F19",s,s],[1,117,"F20",78,"F20",131,"VK_F20",s,s],[1,118,"F21",79,"F21",132,"VK_F21",s,s],[1,119,"F22",80,"F22",133,"VK_F22",s,s],[1,120,"F23",81,"F23",134,"VK_F23",s,s],[1,121,"F24",82,"F24",135,"VK_F24",s,s],[1,122,"Open",0,s,0,s,s,s],[1,123,"Help",0,s,0,s,s,s],[1,124,"Select",0,s,0,s,s,s],[1,125,"Again",0,s,0,s,s,s],[1,126,"Undo",0,s,0,s,s,s],[1,127,"Cut",0,s,0,s,s,s],[1,128,"Copy",0,s,0,s,s,s],[1,129,"Paste",0,s,0,s,s,s],[1,130,"Find",0,s,0,s,s,s],[1,131,"AudioVolumeMute",117,"AudioVolumeMute",173,"VK_VOLUME_MUTE",s,s],[1,132,"AudioVolumeUp",118,"AudioVolumeUp",175,"VK_VOLUME_UP",s,s],[1,133,"AudioVolumeDown",119,"AudioVolumeDown",174,"VK_VOLUME_DOWN",s,s],[1,134,"NumpadComma",110,"NumPad_Separator",108,"VK_SEPARATOR",s,s],[0,135,"IntlRo",115,"ABNT_C1",193,"VK_ABNT_C1",s,s],[1,136,"KanaMode",0,s,0,s,s,s],[0,137,"IntlYen",0,s,0,s,s,s],[1,138,"Convert",0,s,0,s,s,s],[1,139,"NonConvert",0,s,0,s,s,s],[1,140,"Lang1",0,s,0,s,s,s],[1,141,"Lang2",0,s,0,s,s,s],[1,142,"Lang3",0,s,0,s,s,s],[1,143,"Lang4",0,s,0,s,s,s],[1,144,"Lang5",0,s,0,s,s,s],[1,145,"Abort",0,s,0,s,s,s],[1,146,"Props",0,s,0,s,s,s],[1,147,"NumpadParenLeft",0,s,0,s,s,s],[1,148,"NumpadParenRight",0,s,0,s,s,s],[1,149,"NumpadBackspace",0,s,0,s,s,s],[1,150,"NumpadMemoryStore",0,s,0,s,s,s],[1,151,"NumpadMemoryRecall",0,s,0,s,s,s],[1,152,"NumpadMemoryClear",0,s,0,s,s,s],[1,153,"NumpadMemoryAdd",0,s,0,s,s,s],[1,154,"NumpadMemorySubtract",0,s,0,s,s,s],[1,155,"NumpadClear",131,"Clear",12,"VK_CLEAR",s,s],[1,156,"NumpadClearEntry",0,s,0,s,s,s],[1,0,s,5,"Ctrl",17,"VK_CONTROL",s,s],[1,0,s,4,"Shift",16,"VK_SHIFT",s,s],[1,0,s,6,"Alt",18,"VK_MENU",s,s],[1,0,s,57,"Meta",91,"VK_COMMAND",s,s],[1,157,"ControlLeft",5,s,0,"VK_LCONTROL",s,s],[1,158,"ShiftLeft",4,s,0,"VK_LSHIFT",s,s],[1,159,"AltLeft",6,s,0,"VK_LMENU",s,s],[1,160,"MetaLeft",57,s,0,"VK_LWIN",s,s],[1,161,"ControlRight",5,s,0,"VK_RCONTROL",s,s],[1,162,"ShiftRight",4,s,0,"VK_RSHIFT",s,s],[1,163,"AltRight",6,s,0,"VK_RMENU",s,s],[1,164,"MetaRight",57,s,0,"VK_RWIN",s,s],[1,165,"BrightnessUp",0,s,0,s,s,s],[1,166,"BrightnessDown",0,s,0,s,s,s],[1,167,"MediaPlay",0,s,0,s,s,s],[1,168,"MediaRecord",0,s,0,s,s,s],[1,169,"MediaFastForward",0,s,0,s,s,s],[1,170,"MediaRewind",0,s,0,s,s,s],[1,171,"MediaTrackNext",124,"MediaTrackNext",176,"VK_MEDIA_NEXT_TRACK",s,s],[1,172,"MediaTrackPrevious",125,"MediaTrackPrevious",177,"VK_MEDIA_PREV_TRACK",s,s],[1,173,"MediaStop",126,"MediaStop",178,"VK_MEDIA_STOP",s,s],[1,174,"Eject",0,s,0,s,s,s],[1,175,"MediaPlayPause",127,"MediaPlayPause",179,"VK_MEDIA_PLAY_PAUSE",s,s],[1,176,"MediaSelect",128,"LaunchMediaPlayer",181,"VK_MEDIA_LAUNCH_MEDIA_SELECT",s,s],[1,177,"LaunchMail",129,"LaunchMail",180,"VK_MEDIA_LAUNCH_MAIL",s,s],[1,178,"LaunchApp2",130,"LaunchApp2",183,"VK_MEDIA_LAUNCH_APP2",s,s],[1,179,"LaunchApp1",0,s,0,"VK_MEDIA_LAUNCH_APP1",s,s],[1,180,"SelectTask",0,s,0,s,s,s],[1,181,"LaunchScreenSaver",0,s,0,s,s,s],[1,182,"BrowserSearch",120,"BrowserSearch",170,"VK_BROWSER_SEARCH",s,s],[1,183,"BrowserHome",121,"BrowserHome",172,"VK_BROWSER_HOME",s,s],[1,184,"BrowserBack",122,"BrowserBack",166,"VK_BROWSER_BACK",s,s],[1,185,"BrowserForward",123,"BrowserForward",167,"VK_BROWSER_FORWARD",s,s],[1,186,"BrowserStop",0,s,0,"VK_BROWSER_STOP",s,s],[1,187,"BrowserRefresh",0,s,0,"VK_BROWSER_REFRESH",s,s],[1,188,"BrowserFavorites",0,s,0,"VK_BROWSER_FAVORITES",s,s],[1,189,"ZoomToggle",0,s,0,s,s,s],[1,190,"MailReply",0,s,0,s,s,s],[1,191,"MailForward",0,s,0,s,s,s],[1,192,"MailSend",0,s,0,s,s,s],[1,0,s,114,"KeyInComposition",229,s,s,s],[1,0,s,116,"ABNT_C2",194,"VK_ABNT_C2",s,s],[1,0,s,96,"OEM_8",223,"VK_OEM_8",s,s],[1,0,s,0,s,0,"VK_KANA",s,s],[1,0,s,0,s,0,"VK_HANGUL",s,s],[1,0,s,0,s,0,"VK_JUNJA",s,s],[1,0,s,0,s,0,"VK_FINAL",s,s],[1,0,s,0,s,0,"VK_HANJA",s,s],[1,0,s,0,s,0,"VK_KANJI",s,s],[1,0,s,0,s,0,"VK_CONVERT",s,s],[1,0,s,0,s,0,"VK_NONCONVERT",s,s],[1,0,s,0,s,0,"VK_ACCEPT",s,s],[1,0,s,0,s,0,"VK_MODECHANGE",s,s],[1,0,s,0,s,0,"VK_SELECT",s,s],[1,0,s,0,s,0,"VK_PRINT",s,s],[1,0,s,0,s,0,"VK_EXECUTE",s,s],[1,0,s,0,s,0,"VK_SNAPSHOT",s,s],[1,0,s,0,s,0,"VK_HELP",s,s],[1,0,s,0,s,0,"VK_APPS",s,s],[1,0,s,0,s,0,"VK_PROCESSKEY",s,s],[1,0,s,0,s,0,"VK_PACKET",s,s],[1,0,s,0,s,0,"VK_DBE_SBCSCHAR",s,s],[1,0,s,0,s,0,"VK_DBE_DBCSCHAR",s,s],[1,0,s,0,s,0,"VK_ATTN",s,s],[1,0,s,0,s,0,"VK_CRSEL",s,s],[1,0,s,0,s,0,"VK_EXSEL",s,s],[1,0,s,0,s,0,"VK_EREOF",s,s],[1,0,s,0,s,0,"VK_PLAY",s,s],[1,0,s,0,s,0,"VK_ZOOM",s,s],[1,0,s,0,s,0,"VK_NONAME",s,s],[1,0,s,0,s,0,"VK_PA1",s,s],[1,0,s,0,s,0,"VK_OEM_CLEAR",s,s]],t=[],i=[];for(const n of e){const[o,r,a,l,d,c,u,h,g]=n;if(i[r]||(i[r]=!0,Xoe[a]=r,Yoe[a.toLowerCase()]=r,o&&(GP[r]=l)),!t[l]){if(t[l]=!0,!d)throw new Error(`String representation missing for key code ${l} around scan code ${a}`);Oy.define(l,d),XT.define(l,h||d),YT.define(l,g||h||d)}c&&(KV[c]=l)}})();var sc;(function(s){function e(a){return Oy.keyCodeToStr(a)}s.toString=e;function t(a){return Oy.strToKeyCode(a)}s.fromString=t;function i(a){return XT.keyCodeToStr(a)}s.toUserSettingsUS=i;function n(a){return YT.keyCodeToStr(a)}s.toUserSettingsGeneral=n;function o(a){return XT.strToKeyCode(a)||YT.strToKeyCode(a)}s.fromUserSettings=o;function r(a){if(a>=98&&a<=113)return null;switch(a){case 16:return"Up";case 18:return"Down";case 15:return"Left";case 17:return"Right"}return Oy.keyCodeToStr(a)}s.toElectronAccelerator=r})(sc||(sc={}));function an(s,e){const t=(e&65535)<<16>>>0;return(s|t)>>>0}var n3={};let km;const AE=globalThis.vscode;if(typeof AE<"u"&&typeof AE.process<"u"){const s=AE.process;km={get platform(){return s.platform},get arch(){return s.arch},get env(){return s.env},cwd(){return s.cwd()}}}else typeof process<"u"?km={get platform(){return process.platform},get arch(){return process.arch},get env(){return n3},cwd(){return n3.VSCODE_CWD||process.cwd()}}:km={get platform(){return as?"win32":lt?"darwin":"linux"},get arch(){},get env(){return{}},cwd(){return"/"}};const AS=km.cwd,QT=km.env,Qoe=km.platform,Joe=65,ere=97,tre=90,ire=122,ih=46,gs=47,Vo=92,fu=58,nre=63;class qV extends Error{constructor(e,t,i){let n;typeof t=="string"&&t.indexOf("not ")===0?(n="must not be",t=t.replace(/^not /,"")):n="must be";const o=e.indexOf(".")!==-1?"property":"argument";let r=`The "${e}" ${o} ${n} of type ${t}`;r+=`. Received type ${typeof i}`,super(r),this.code="ERR_INVALID_ARG_TYPE"}}function sre(s,e){if(s===null||typeof s!="object")throw new qV(e,"Object",s)}function In(s,e){if(typeof s!="string")throw new qV(e,"string",s)}const eg=Qoe==="win32";function Pt(s){return s===gs||s===Vo}function JT(s){return s===gs}function pu(s){return s>=Joe&&s<=tre||s>=ere&&s<=ire}function MS(s,e,t,i){let n="",o=0,r=-1,a=0,l=0;for(let d=0;d<=s.length;++d){if(d 2){const c=n.lastIndexOf(t);c===-1?(n="",o=0):(n=n.slice(0,c),o=n.length-1-n.lastIndexOf(t)),r=d,a=0;continue}else if(n.length!==0){n="",o=0,r=d,a=0;continue}}e&&(n+=n.length>0?`${t}..`:"..",o=2)}else n.length>0?n+=`${t}${s.slice(r+1,d)}`:n=s.slice(r+1,d),o=d-r-1;r=d,a=0}else l===ih&&a!==-1?++a:a=-1}return n}function GV(s,e){sre(e,"pathObject");const t=e.dir||e.root,i=e.base||`${e.name||""}${e.ext||""}`;return t?t===e.root?`${t}${i}`:`${t}${s}${i}`:i}const xo={resolve(...s){let e="",t="",i=!1;for(let n=s.length-1;n>=-1;n--){let o;if(n>=0){if(o=s[n],In(o,"path"),o.length===0)continue}else e.length===0?o=AS():(o=QT[`=${e}`]||AS(),(o===void 0||o.slice(0,2).toLowerCase()!==e.toLowerCase()&&o.charCodeAt(2)===Vo)&&(o=`${e}\\`));const r=o.length;let a=0,l="",d=!1;const c=o.charCodeAt(0);if(r===1)Pt(c)&&(a=1,d=!0);else if(Pt(c))if(d=!0,Pt(o.charCodeAt(1))){let u=2,h=u;for(;u 2&&Pt(o.charCodeAt(2))&&(d=!0,a=3));if(l.length>0)if(e.length>0){if(l.toLowerCase()!==e.toLowerCase())continue}else e=l;if(i){if(e.length>0)break}else if(t=`${o.slice(a)}\\${t}`,i=d,d&&e.length>0)break}return t=MS(t,!i,"\\",Pt),i?`${e}\\${t}`:`${e}${t}`||"."},normalize(s){In(s,"path");const e=s.length;if(e===0)return".";let t=0,i,n=!1;const o=s.charCodeAt(0);if(e===1)return JT(o)?"\\":s;if(Pt(o))if(n=!0,Pt(s.charCodeAt(1))){let a=2,l=a;for(;a 2&&Pt(s.charCodeAt(2))&&(n=!0,t=3));let r=t 0&&Pt(s.charCodeAt(e-1))&&(r+="\\"),i===void 0?n?`\\${r}`:r:n?`${i}\\${r}`:`${i}${r}`},isAbsolute(s){In(s,"path");const e=s.length;if(e===0)return!1;const t=s.charCodeAt(0);return Pt(t)||e>2&&pu(t)&&s.charCodeAt(1)===fu&&Pt(s.charCodeAt(2))},join(...s){if(s.length===0)return".";let e,t;for(let o=0;o 0&&(e===void 0?e=t=r:e+=`\\${r}`)}if(e===void 0)return".";let i=!0,n=0;if(typeof t=="string"&&Pt(t.charCodeAt(0))){++n;const o=t.length;o>1&&Pt(t.charCodeAt(1))&&(++n,o>2&&(Pt(t.charCodeAt(2))?++n:i=!1))}if(i){for(;n =2&&(e=`\\${e.slice(n)}`)}return xo.normalize(e)},relative(s,e){if(In(s,"from"),In(e,"to"),s===e)return"";const t=xo.resolve(s),i=xo.resolve(e);if(t===i||(s=t.toLowerCase(),e=i.toLowerCase(),s===e))return"";let n=0;for(;n n&&s.charCodeAt(o-1)===Vo;)o--;const r=o-n;let a=0;for(;a a&&e.charCodeAt(l-1)===Vo;)l--;const d=l-a,c=r c){if(e.charCodeAt(a+h)===Vo)return i.slice(a+h+1);if(h===2)return i.slice(a+h)}r>c&&(s.charCodeAt(n+h)===Vo?u=h:h===2&&(u=3)),u===-1&&(u=0)}let g="";for(h=n+u+1;h<=o;++h)(h===o||s.charCodeAt(h)===Vo)&&(g+=g.length===0?"..":"\\..");return a+=u,g.length>0?`${g}${i.slice(a,l)}`:(i.charCodeAt(a)===Vo&&++a,i.slice(a,l))},toNamespacedPath(s){if(typeof s!="string"||s.length===0)return s;const e=xo.resolve(s);if(e.length<=2)return s;if(e.charCodeAt(0)===Vo){if(e.charCodeAt(1)===Vo){const t=e.charCodeAt(2);if(t!==nre&&t!==ih)return`\\\\?\\UNC\\${e.slice(2)}`}}else if(pu(e.charCodeAt(0))&&e.charCodeAt(1)===fu&&e.charCodeAt(2)===Vo)return`\\\\?\\${e}`;return s},dirname(s){In(s,"path");const e=s.length;if(e===0)return".";let t=-1,i=0;const n=s.charCodeAt(0);if(e===1)return Pt(n)?s:".";if(Pt(n)){if(t=i=1,Pt(s.charCodeAt(1))){let a=2,l=a;for(;a 2&&Pt(s.charCodeAt(2))?3:2,i=t);let o=-1,r=!0;for(let a=e-1;a>=i;--a)if(Pt(s.charCodeAt(a))){if(!r){o=a;break}}else r=!1;if(o===-1){if(t===-1)return".";o=t}return s.slice(0,o)},basename(s,e){e!==void 0&&In(e,"ext"),In(s,"path");let t=0,i=-1,n=!0,o;if(s.length>=2&&pu(s.charCodeAt(0))&&s.charCodeAt(1)===fu&&(t=2),e!==void 0&&e.length>0&&e.length<=s.length){if(e===s)return"";let r=e.length-1,a=-1;for(o=s.length-1;o>=t;--o){const l=s.charCodeAt(o);if(Pt(l)){if(!n){t=o+1;break}}else a===-1&&(n=!1,a=o+1),r>=0&&(l===e.charCodeAt(r)?--r===-1&&(i=o):(r=-1,i=a))}return t===i?i=a:i===-1&&(i=s.length),s.slice(t,i)}for(o=s.length-1;o>=t;--o)if(Pt(s.charCodeAt(o))){if(!n){t=o+1;break}}else i===-1&&(n=!1,i=o+1);return i===-1?"":s.slice(t,i)},extname(s){In(s,"path");let e=0,t=-1,i=0,n=-1,o=!0,r=0;s.length>=2&&s.charCodeAt(1)===fu&&pu(s.charCodeAt(0))&&(e=i=2);for(let a=s.length-1;a>=e;--a){const l=s.charCodeAt(a);if(Pt(l)){if(!o){i=a+1;break}continue}n===-1&&(o=!1,n=a+1),l===ih?t===-1?t=a:r!==1&&(r=1):t!==-1&&(r=-1)}return t===-1||n===-1||r===0||r===1&&t===n-1&&t===i+1?"":s.slice(t,n)},format:GV.bind(null,"\\"),parse(s){In(s,"path");const e={root:"",dir:"",base:"",ext:"",name:""};if(s.length===0)return e;const t=s.length;let i=0,n=s.charCodeAt(0);if(t===1)return Pt(n)?(e.root=e.dir=s,e):(e.base=e.name=s,e);if(Pt(n)){if(i=1,Pt(s.charCodeAt(1))){let u=2,h=u;for(;u 0&&(e.root=s.slice(0,i));let o=-1,r=i,a=-1,l=!0,d=s.length-1,c=0;for(;d>=i;--d){if(n=s.charCodeAt(d),Pt(n)){if(!l){r=d+1;break}continue}a===-1&&(l=!1,a=d+1),n===ih?o===-1?o=d:c!==1&&(c=1):o!==-1&&(c=-1)}return a!==-1&&(o===-1||c===0||c===1&&o===a-1&&o===r+1?e.base=e.name=s.slice(r,a):(e.name=s.slice(r,o),e.base=s.slice(r,a),e.ext=s.slice(o,a))),r>0&&r!==i?e.dir=s.slice(0,r-1):e.dir=e.root,e},sep:"\\",delimiter:";",win32:null,posix:null},ore=(()=>{if(eg){const s=/\\/g;return()=>{const e=AS().replace(s,"/");return e.slice(e.indexOf("/"))}}return()=>AS()})(),Yi={resolve(...s){let e="",t=!1;for(let i=s.length-1;i>=-1&&!t;i--){const n=i>=0?s[i]:ore();In(n,"path"),n.length!==0&&(e=`${n}/${e}`,t=n.charCodeAt(0)===gs)}return e=MS(e,!t,"/",JT),t?`/${e}`:e.length>0?e:"."},normalize(s){if(In(s,"path"),s.length===0)return".";const e=s.charCodeAt(0)===gs,t=s.charCodeAt(s.length-1)===gs;return s=MS(s,!e,"/",JT),s.length===0?e?"/":t?"./":".":(t&&(s+="/"),e?`/${s}`:s)},isAbsolute(s){return In(s,"path"),s.length>0&&s.charCodeAt(0)===gs},join(...s){if(s.length===0)return".";let e;for(let t=0;t 0&&(e===void 0?e=i:e+=`/${i}`)}return e===void 0?".":Yi.normalize(e)},relative(s,e){if(In(s,"from"),In(e,"to"),s===e||(s=Yi.resolve(s),e=Yi.resolve(e),s===e))return"";const t=1,i=s.length,n=i-t,o=1,r=e.length-o,a=n a){if(e.charCodeAt(o+d)===gs)return e.slice(o+d+1);if(d===0)return e.slice(o+d)}else n>a&&(s.charCodeAt(t+d)===gs?l=d:d===0&&(l=0));let c="";for(d=t+l+1;d<=i;++d)(d===i||s.charCodeAt(d)===gs)&&(c+=c.length===0?"..":"/..");return`${c}${e.slice(o+l)}`},toNamespacedPath(s){return s},dirname(s){if(In(s,"path"),s.length===0)return".";const e=s.charCodeAt(0)===gs;let t=-1,i=!0;for(let n=s.length-1;n>=1;--n)if(s.charCodeAt(n)===gs){if(!i){t=n;break}}else i=!1;return t===-1?e?"/":".":e&&t===1?"//":s.slice(0,t)},basename(s,e){e!==void 0&&In(e,"ext"),In(s,"path");let t=0,i=-1,n=!0,o;if(e!==void 0&&e.length>0&&e.length<=s.length){if(e===s)return"";let r=e.length-1,a=-1;for(o=s.length-1;o>=0;--o){const l=s.charCodeAt(o);if(l===gs){if(!n){t=o+1;break}}else a===-1&&(n=!1,a=o+1),r>=0&&(l===e.charCodeAt(r)?--r===-1&&(i=o):(r=-1,i=a))}return t===i?i=a:i===-1&&(i=s.length),s.slice(t,i)}for(o=s.length-1;o>=0;--o)if(s.charCodeAt(o)===gs){if(!n){t=o+1;break}}else i===-1&&(n=!1,i=o+1);return i===-1?"":s.slice(t,i)},extname(s){In(s,"path");let e=-1,t=0,i=-1,n=!0,o=0;for(let r=s.length-1;r>=0;--r){const a=s.charCodeAt(r);if(a===gs){if(!n){t=r+1;break}continue}i===-1&&(n=!1,i=r+1),a===ih?e===-1?e=r:o!==1&&(o=1):e!==-1&&(o=-1)}return e===-1||i===-1||o===0||o===1&&e===i-1&&e===t+1?"":s.slice(e,i)},format:GV.bind(null,"/"),parse(s){In(s,"path");const e={root:"",dir:"",base:"",ext:"",name:""};if(s.length===0)return e;const t=s.charCodeAt(0)===gs;let i;t?(e.root="/",i=1):i=0;let n=-1,o=0,r=-1,a=!0,l=s.length-1,d=0;for(;l>=i;--l){const c=s.charCodeAt(l);if(c===gs){if(!a){o=l+1;break}continue}r===-1&&(a=!1,r=l+1),c===ih?n===-1?n=l:d!==1&&(d=1):n!==-1&&(d=-1)}if(r!==-1){const c=o===0&&t?1:o;n===-1||d===0||d===1&&n===r-1&&n===o+1?e.base=e.name=s.slice(c,r):(e.name=s.slice(c,n),e.base=s.slice(c,r),e.ext=s.slice(n,r))}return o>0?e.dir=s.slice(0,o-1):t&&(e.dir="/"),e},sep:"/",delimiter:":",win32:null,posix:null};Yi.win32=xo.win32=xo;Yi.posix=xo.posix=Yi;const ZV=eg?xo.normalize:Yi.normalize,rre=eg?xo.resolve:Yi.resolve,are=eg?xo.relative:Yi.relative,XV=eg?xo.dirname:Yi.dirname,nh=eg?xo.basename:Yi.basename,lre=eg?xo.extname:Yi.extname,sh=eg?xo.sep:Yi.sep,dre=/^\w[\w\d+.-]*$/,cre=/^\//,ure=/^\/\//;function hre(s,e){if(!s.scheme&&e)throw new Error(`[UriError]: Scheme is missing: {scheme: "", authority: "${s.authority}", path: "${s.path}", query: "${s.query}", fragment: "${s.fragment}"}`);if(s.scheme&&!dre.test(s.scheme))throw new Error("[UriError]: Scheme contains illegal characters.");if(s.path){if(s.authority){if(!cre.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(ure.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 ("//")')}}function gre(s,e){return!s&&!e?"file":s}function fre(s,e){switch(s){case"https":case"http":case"file":e?e[0]!==Ha&&(e=Ha+e):e=Ha;break}return e}const $i="",Ha="/",pre=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/;class Ae{static isUri(e){return e instanceof Ae?!0:e?typeof e.authority=="string"&&typeof e.fragment=="string"&&typeof e.path=="string"&&typeof e.query=="string"&&typeof e.scheme=="string"&&typeof e.fsPath=="string"&&typeof e.with=="function"&&typeof e.toString=="function":!1}constructor(e,t,i,n,o,r=!1){typeof e=="object"?(this.scheme=e.scheme||$i,this.authority=e.authority||$i,this.path=e.path||$i,this.query=e.query||$i,this.fragment=e.fragment||$i):(this.scheme=gre(e,r),this.authority=t||$i,this.path=fre(this.scheme,i||$i),this.query=n||$i,this.fragment=o||$i,hre(this,r))}get fsPath(){return RS(this,!1)}with(e){if(!e)return this;let{scheme:t,authority:i,path:n,query:o,fragment:r}=e;return t===void 0?t=this.scheme:t===null&&(t=$i),i===void 0?i=this.authority:i===null&&(i=$i),n===void 0?n=this.path:n===null&&(n=$i),o===void 0?o=this.query:o===null&&(o=$i),r===void 0?r=this.fragment:r===null&&(r=$i),t===this.scheme&&i===this.authority&&n===this.path&&o===this.query&&r===this.fragment?this:new Sp(t,i,n,o,r)}static parse(e,t=!1){const i=pre.exec(e);return i?new Sp(i[2]||$i,cw(i[4]||$i),cw(i[5]||$i),cw(i[7]||$i),cw(i[9]||$i),t):new Sp($i,$i,$i,$i,$i)}static file(e){let t=$i;if(as&&(e=e.replace(/\\/g,Ha)),e[0]===Ha&&e[1]===Ha){const i=e.indexOf(Ha,2);i===-1?(t=e.substring(2),e=Ha):(t=e.substring(2,i),e=e.substring(i)||Ha)}return new Sp("file",t,e,$i,$i)}static from(e,t){return new Sp(e.scheme,e.authority,e.path,e.query,e.fragment,t)}static joinPath(e,...t){if(!e.path)throw new Error("[UriError]: cannot call joinPath on URI without path");let i;return as&&e.scheme==="file"?i=Ae.file(xo.join(RS(e,!0),...t)).path:i=Yi.join(e.path,...t),e.with({path:i})}toString(e=!1){return eN(this,e)}toJSON(){return this}static revive(e){var t,i;if(e){if(e instanceof Ae)return e;{const n=new Sp(e);return n._formatted=(t=e.external)!==null&&t!==void 0?t:null,n._fsPath=e._sep===YV&&(i=e.fsPath)!==null&&i!==void 0?i:null,n}}else return e}}const YV=as?1:void 0;let Sp=class extends Ae{constructor(){super(...arguments),this._formatted=null,this._fsPath=null}get fsPath(){return this._fsPath||(this._fsPath=RS(this,!1)),this._fsPath}toString(e=!1){return e?eN(this,!0):(this._formatted||(this._formatted=eN(this,!1)),this._formatted)}toJSON(){const e={$mid:1};return this._fsPath&&(e.fsPath=this._fsPath,e._sep=YV),this._formatted&&(e.external=this._formatted),this.path&&(e.path=this.path),this.scheme&&(e.scheme=this.scheme),this.authority&&(e.authority=this.authority),this.query&&(e.query=this.query),this.fragment&&(e.fragment=this.fragment),e}};const QV={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 s3(s,e,t){let i,n=-1;for(let o=0;o =97&&r<=122||r>=65&&r<=90||r>=48&&r<=57||r===45||r===46||r===95||r===126||e&&r===47||t&&r===91||t&&r===93||t&&r===58)n!==-1&&(i+=encodeURIComponent(s.substring(n,o)),n=-1),i!==void 0&&(i+=s.charAt(o));else{i===void 0&&(i=s.substr(0,o));const a=QV[r];a!==void 0?(n!==-1&&(i+=encodeURIComponent(s.substring(n,o)),n=-1),i+=a):n===-1&&(n=o)}}return n!==-1&&(i+=encodeURIComponent(s.substring(n))),i!==void 0?i:s}function mre(s){let e;for(let t=0;t 1&&s.scheme==="file"?t=`//${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?e?t=s.path.substr(1):t=s.path[1].toLowerCase()+s.path.substr(2):t=s.path,as&&(t=t.replace(/\//g,"\\")),t}function eN(s,e){const t=e?mre:s3;let i="",{scheme:n,authority:o,path:r,query:a,fragment:l}=s;if(n&&(i+=n,i+=":"),(o||n==="file")&&(i+=Ha,i+=Ha),o){let d=o.indexOf("@");if(d!==-1){const c=o.substr(0,d);o=o.substr(d+1),d=c.lastIndexOf(":"),d===-1?i+=t(c,!1,!1):(i+=t(c.substr(0,d),!1,!1),i+=":",i+=t(c.substr(d+1),!1,!0)),i+="@"}o=o.toLowerCase(),d=o.lastIndexOf(":"),d===-1?i+=t(o,!1,!0):(i+=t(o.substr(0,d),!1,!0),i+=o.substr(d))}if(r){if(r.length>=3&&r.charCodeAt(0)===47&&r.charCodeAt(2)===58){const d=r.charCodeAt(1);d>=65&&d<=90&&(r=`/${String.fromCharCode(d+32)}:${r.substr(3)}`)}else if(r.length>=2&&r.charCodeAt(1)===58){const d=r.charCodeAt(0);d>=65&&d<=90&&(r=`${String.fromCharCode(d+32)}:${r.substr(2)}`)}i+=t(r,!0,!1)}return a&&(i+="?",i+=t(a,!1,!1)),l&&(i+="#",i+=e?l:s3(l,!1,!1)),i}function JV(s){try{return decodeURIComponent(s)}catch{return s.length>3?s.substr(0,3)+JV(s.substr(3)):s}}const o3=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function cw(s){return s.match(o3)?s.replace(o3,e=>JV(e)):s}let W=class Eg{constructor(e,t){this.lineNumber=e,this.column=t}with(e=this.lineNumber,t=this.column){return e===this.lineNumber&&t===this.column?this:new Eg(e,t)}delta(e=0,t=0){return this.with(this.lineNumber+e,this.column+t)}equals(e){return Eg.equals(this,e)}static equals(e,t){return!e&&!t?!0:!!e&&!!t&&e.lineNumber===t.lineNumber&&e.column===t.column}isBefore(e){return Eg.isBefore(this,e)}static isBefore(e,t){return e.lineNumber i||e===i&&t>n?(this.startLineNumber=i,this.startColumn=n,this.endLineNumber=e,this.endColumn=t):(this.startLineNumber=e,this.startColumn=t,this.endLineNumber=i,this.endColumn=n)}isEmpty(){return Fn.isEmpty(this)}static isEmpty(e){return e.startLineNumber===e.endLineNumber&&e.startColumn===e.endColumn}containsPosition(e){return Fn.containsPosition(this,e)}static containsPosition(e,t){return!(t.lineNumber e.endLineNumber||t.lineNumber===e.startLineNumber&&t.column e.endColumn)}static strictContainsPosition(e,t){return!(t.lineNumber e.endLineNumber||t.lineNumber===e.startLineNumber&&t.column<=e.startColumn||t.lineNumber===e.endLineNumber&&t.column>=e.endColumn)}containsRange(e){return Fn.containsRange(this,e)}static containsRange(e,t){return!(t.startLineNumber e.endLineNumber||t.endLineNumber>e.endLineNumber||t.startLineNumber===e.startLineNumber&&t.startColumn e.endColumn)}strictContainsRange(e){return Fn.strictContainsRange(this,e)}static strictContainsRange(e,t){return!(t.startLineNumber e.endLineNumber||t.endLineNumber>e.endLineNumber||t.startLineNumber===e.startLineNumber&&t.startColumn<=e.startColumn||t.endLineNumber===e.endLineNumber&&t.endColumn>=e.endColumn)}plusRange(e){return Fn.plusRange(this,e)}static plusRange(e,t){let i,n,o,r;return t.startLineNumber e.endLineNumber?(o=t.endLineNumber,r=t.endColumn):t.endLineNumber===e.endLineNumber?(o=t.endLineNumber,r=Math.max(t.endColumn,e.endColumn)):(o=e.endLineNumber,r=e.endColumn),new Fn(i,n,o,r)}intersectRanges(e){return Fn.intersectRanges(this,e)}static intersectRanges(e,t){let i=e.startLineNumber,n=e.startColumn,o=e.endLineNumber,r=e.endColumn;const a=t.startLineNumber,l=t.startColumn,d=t.endLineNumber,c=t.endColumn;return id?(o=d,r=c):o===d&&(r=Math.min(r,c)),i>o||i===o&&n>r?null:new Fn(i,n,o,r)}equalsRange(e){return Fn.equalsRange(this,e)}static equalsRange(e,t){return!e&&!t?!0:!!e&&!!t&&e.startLineNumber===t.startLineNumber&&e.startColumn===t.startColumn&&e.endLineNumber===t.endLineNumber&&e.endColumn===t.endColumn}getEndPosition(){return Fn.getEndPosition(this)}static getEndPosition(e){return new W(e.endLineNumber,e.endColumn)}getStartPosition(){return Fn.getStartPosition(this)}static getStartPosition(e){return new W(e.startLineNumber,e.startColumn)}toString(){return"["+this.startLineNumber+","+this.startColumn+" -> "+this.endLineNumber+","+this.endColumn+"]"}setEndPosition(e,t){return new Fn(this.startLineNumber,this.startColumn,e,t)}setStartPosition(e,t){return new Fn(e,t,this.endLineNumber,this.endColumn)}collapseToStart(){return Fn.collapseToStart(this)}static collapseToStart(e){return new Fn(e.startLineNumber,e.startColumn,e.startLineNumber,e.startColumn)}collapseToEnd(){return Fn.collapseToEnd(this)}static collapseToEnd(e){return new Fn(e.endLineNumber,e.endColumn,e.endLineNumber,e.endColumn)}delta(e){return new Fn(this.startLineNumber+e,this.startColumn,this.endLineNumber+e,this.endColumn)}static fromPositions(e,t=e){return new Fn(e.lineNumber,e.column,t.lineNumber,t.column)}static lift(e){return e?new Fn(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,t){return!(e.endLineNumber e.startLineNumber}toJSON(){return this}},we=class Yr extends x{constructor(e,t,i,n){super(e,t,i,n),this.selectionStartLineNumber=e,this.selectionStartColumn=t,this.positionLineNumber=i,this.positionColumn=n}toString(){return"["+this.selectionStartLineNumber+","+this.selectionStartColumn+" -> "+this.positionLineNumber+","+this.positionColumn+"]"}equalsSelection(e){return Yr.selectionsEqual(this,e)}static selectionsEqual(e,t){return e.selectionStartLineNumber===t.selectionStartLineNumber&&e.selectionStartColumn===t.selectionStartColumn&&e.positionLineNumber===t.positionLineNumber&&e.positionColumn===t.positionColumn}getDirection(){return this.selectionStartLineNumber===this.startLineNumber&&this.selectionStartColumn===this.startColumn?0:1}setEndPosition(e,t){return this.getDirection()===0?new Yr(this.startLineNumber,this.startColumn,e,t):new Yr(e,t,this.startLineNumber,this.startColumn)}getPosition(){return new W(this.positionLineNumber,this.positionColumn)}getSelectionStart(){return new W(this.selectionStartLineNumber,this.selectionStartColumn)}setStartPosition(e,t){return this.getDirection()===0?new Yr(e,t,this.endLineNumber,this.endColumn):new Yr(this.endLineNumber,this.endColumn,e,t)}static fromPositions(e,t=e){return new Yr(e.lineNumber,e.column,t.lineNumber,t.column)}static fromRange(e,t){return t===0?new Yr(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn):new Yr(e.endLineNumber,e.endColumn,e.startLineNumber,e.startColumn)}static liftSelection(e){return new Yr(e.selectionStartLineNumber,e.selectionStartColumn,e.positionLineNumber,e.positionColumn)}static selectionsArrEqual(e,t){if(e&&!t||!e&&t)return!1;if(!e&&!t)return!0;if(e.length!==t.length)return!1;for(let i=0,n=e.length;i {this._tokenizationSupports.get(e)===t&&(this._tokenizationSupports.delete(e),this.handleChange([e]))})}get(e){return this._tokenizationSupports.get(e)||null}registerFactory(e,t){var i;(i=this._factories.get(e))===null||i===void 0||i.dispose();const n=new Cre(this,e,t);return this._factories.set(e,n),Ie(()=>{const o=this._factories.get(e);!o||o!==n||(this._factories.delete(e),o.dispose())})}async getOrCreate(e){const t=this.get(e);if(t)return t;const i=this._factories.get(e);return!i||i.isResolved?null:(await i.resolve(),this.get(e))}isResolved(e){if(this.get(e))return!0;const i=this._factories.get(e);return!!(!i||i.isResolved)}setColorMap(e){this._colorMap=e,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}};class Cre extends H{get isResolved(){return this._isResolved}constructor(e,t,i){super(),this._registry=e,this._languageId=t,this._factory=i,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 e=await this._factory.tokenizationSupport;this._isResolved=!0,e&&!this._isDisposed&&this._register(this._registry.register(this._languageId,e))}}let Ib=class{constructor(e,t,i){this.offset=e,this.type=t,this.language=i,this._tokenBrand=void 0}toString(){return"("+this.offset+", "+this.type+")"}};class ZP{constructor(e,t){this.tokens=e,this.endState=t,this._tokenizationResultBrand=void 0}}class KL{constructor(e,t){this.tokens=e,this.endState=t,this._encodedTokenizationResultBrand=void 0}}var ja;(function(s){s[s.Increase=0]="Increase",s[s.Decrease=1]="Decrease"})(ja||(ja={}));var Tb;(function(s){const e=new Map;e.set(0,oe.symbolMethod),e.set(1,oe.symbolFunction),e.set(2,oe.symbolConstructor),e.set(3,oe.symbolField),e.set(4,oe.symbolVariable),e.set(5,oe.symbolClass),e.set(6,oe.symbolStruct),e.set(7,oe.symbolInterface),e.set(8,oe.symbolModule),e.set(9,oe.symbolProperty),e.set(10,oe.symbolEvent),e.set(11,oe.symbolOperator),e.set(12,oe.symbolUnit),e.set(13,oe.symbolValue),e.set(15,oe.symbolEnum),e.set(14,oe.symbolConstant),e.set(15,oe.symbolEnum),e.set(16,oe.symbolEnumMember),e.set(17,oe.symbolKeyword),e.set(27,oe.symbolSnippet),e.set(18,oe.symbolText),e.set(19,oe.symbolColor),e.set(20,oe.symbolFile),e.set(21,oe.symbolReference),e.set(22,oe.symbolCustomColor),e.set(23,oe.symbolFolder),e.set(24,oe.symbolTypeParameter),e.set(25,oe.account),e.set(26,oe.issues);function t(o){let r=e.get(o);return r||(console.info("No codicon found for CompletionItemKind "+o),r=oe.symbolProperty),r}s.toIcon=t;const i=new Map;i.set("method",0),i.set("function",1),i.set("constructor",2),i.set("field",3),i.set("variable",4),i.set("class",5),i.set("struct",6),i.set("interface",7),i.set("module",8),i.set("property",9),i.set("event",10),i.set("operator",11),i.set("unit",12),i.set("value",13),i.set("constant",14),i.set("enum",15),i.set("enum-member",16),i.set("enumMember",16),i.set("keyword",17),i.set("snippet",27),i.set("text",18),i.set("color",19),i.set("file",20),i.set("reference",21),i.set("customcolor",22),i.set("folder",23),i.set("type-parameter",24),i.set("typeParameter",24),i.set("account",25),i.set("issue",26);function n(o,r){let a=i.get(o);return typeof a>"u"&&!r&&(a=9),a}s.fromString=n})(Tb||(Tb={}));var kc;(function(s){s[s.Automatic=0]="Automatic",s[s.Explicit=1]="Explicit"})(kc||(kc={}));class tz{constructor(e,t,i,n){this.range=e,this.text=t,this.completionKind=i,this.isSnippetText=n}equals(e){return x.lift(this.range).equalsRange(e.range)&&this.text===e.text&&this.completionKind===e.completionKind&&this.isSnippetText===e.isSnippetText}}var Nb;(function(s){s[s.Automatic=0]="Automatic",s[s.PasteAs=1]="PasteAs"})(Nb||(Nb={}));var ad;(function(s){s[s.Invoke=1]="Invoke",s[s.TriggerCharacter=2]="TriggerCharacter",s[s.ContentChange=3]="ContentChange"})(ad||(ad={}));var Ab;(function(s){s[s.Text=0]="Text",s[s.Read=1]="Read",s[s.Write=2]="Write"})(Ab||(Ab={}));function wre(s){return s&&Ae.isUri(s.uri)&&x.isIRange(s.range)&&(x.isIRange(s.originSelectionRange)||x.isIRange(s.targetSelectionRange))}p("Array","array"),p("Boolean","boolean"),p("Class","class"),p("Constant","constant"),p("Constructor","constructor"),p("Enum","enumeration"),p("EnumMember","enumeration member"),p("Event","event"),p("Field","field"),p("File","file"),p("Function","function"),p("Interface","interface"),p("Key","key"),p("Method","method"),p("Module","module"),p("Namespace","namespace"),p("Null","null"),p("Number","number"),p("Object","object"),p("Operator","operator"),p("Package","package"),p("Property","property"),p("String","string"),p("Struct","struct"),p("TypeParameter","type parameter"),p("Variable","variable");var iN;(function(s){const e=new Map;e.set(0,oe.symbolFile),e.set(1,oe.symbolModule),e.set(2,oe.symbolNamespace),e.set(3,oe.symbolPackage),e.set(4,oe.symbolClass),e.set(5,oe.symbolMethod),e.set(6,oe.symbolProperty),e.set(7,oe.symbolField),e.set(8,oe.symbolConstructor),e.set(9,oe.symbolEnum),e.set(10,oe.symbolInterface),e.set(11,oe.symbolFunction),e.set(12,oe.symbolVariable),e.set(13,oe.symbolConstant),e.set(14,oe.symbolString),e.set(15,oe.symbolNumber),e.set(16,oe.symbolBoolean),e.set(17,oe.symbolArray),e.set(18,oe.symbolObject),e.set(19,oe.symbolKey),e.set(20,oe.symbolNull),e.set(21,oe.symbolEnumMember),e.set(22,oe.symbolStruct),e.set(23,oe.symbolEvent),e.set(24,oe.symbolOperator),e.set(25,oe.symbolTypeParameter);function t(i){let n=e.get(i);return n||(console.info("No codicon found for SymbolKind "+i),n=oe.symbolProperty),n}s.toIcon=t})(iN||(iN={}));class Ps{static fromValue(e){switch(e){case"comment":return Ps.Comment;case"imports":return Ps.Imports;case"region":return Ps.Region}return new Ps(e)}constructor(e){this.value=e}}Ps.Comment=new Ps("comment");Ps.Imports=new Ps("imports");Ps.Region=new Ps("region");var nN;(function(s){s[s.AIGenerated=1]="AIGenerated"})(nN||(nN={}));var Mb;(function(s){s[s.Invoke=0]="Invoke",s[s.Automatic=1]="Automatic"})(Mb||(Mb={}));var sN;(function(s){function e(t){return!t||typeof t!="object"?!1:typeof t.id=="string"&&typeof t.title=="string"}s.is=e})(sN||(sN={}));var PS;(function(s){s[s.Type=1]="Type",s[s.Parameter=2]="Parameter"})(PS||(PS={}));class yre{constructor(e){this.createSupport=e,this._tokenizationSupport=null}dispose(){this._tokenizationSupport&&this._tokenizationSupport.then(e=>{e&&e.dispose()})}get tokenizationSupport(){return this._tokenizationSupport||(this._tokenizationSupport=this.createSupport()),this._tokenizationSupport}}const Ki=new bre;var FS;(function(s){s[s.Invoke=0]="Invoke",s[s.Automatic=1]="Automatic"})(FS||(FS={}));var oN;(function(s){s[s.Unknown=0]="Unknown",s[s.Disabled=1]="Disabled",s[s.Enabled=2]="Enabled"})(oN||(oN={}));var rN;(function(s){s[s.Invoke=1]="Invoke",s[s.Auto=2]="Auto"})(rN||(rN={}));var aN;(function(s){s[s.None=0]="None",s[s.KeepWhitespace=1]="KeepWhitespace",s[s.InsertAsSnippet=4]="InsertAsSnippet"})(aN||(aN={}));var lN;(function(s){s[s.Method=0]="Method",s[s.Function=1]="Function",s[s.Constructor=2]="Constructor",s[s.Field=3]="Field",s[s.Variable=4]="Variable",s[s.Class=5]="Class",s[s.Struct=6]="Struct",s[s.Interface=7]="Interface",s[s.Module=8]="Module",s[s.Property=9]="Property",s[s.Event=10]="Event",s[s.Operator=11]="Operator",s[s.Unit=12]="Unit",s[s.Value=13]="Value",s[s.Constant=14]="Constant",s[s.Enum=15]="Enum",s[s.EnumMember=16]="EnumMember",s[s.Keyword=17]="Keyword",s[s.Text=18]="Text",s[s.Color=19]="Color",s[s.File=20]="File",s[s.Reference=21]="Reference",s[s.Customcolor=22]="Customcolor",s[s.Folder=23]="Folder",s[s.TypeParameter=24]="TypeParameter",s[s.User=25]="User",s[s.Issue=26]="Issue",s[s.Snippet=27]="Snippet"})(lN||(lN={}));var dN;(function(s){s[s.Deprecated=1]="Deprecated"})(dN||(dN={}));var cN;(function(s){s[s.Invoke=0]="Invoke",s[s.TriggerCharacter=1]="TriggerCharacter",s[s.TriggerForIncompleteCompletions=2]="TriggerForIncompleteCompletions"})(cN||(cN={}));var uN;(function(s){s[s.EXACT=0]="EXACT",s[s.ABOVE=1]="ABOVE",s[s.BELOW=2]="BELOW"})(uN||(uN={}));var hN;(function(s){s[s.NotSet=0]="NotSet",s[s.ContentFlush=1]="ContentFlush",s[s.RecoverFromMarkers=2]="RecoverFromMarkers",s[s.Explicit=3]="Explicit",s[s.Paste=4]="Paste",s[s.Undo=5]="Undo",s[s.Redo=6]="Redo"})(hN||(hN={}));var gN;(function(s){s[s.LF=1]="LF",s[s.CRLF=2]="CRLF"})(gN||(gN={}));var fN;(function(s){s[s.Text=0]="Text",s[s.Read=1]="Read",s[s.Write=2]="Write"})(fN||(fN={}));var pN;(function(s){s[s.None=0]="None",s[s.Keep=1]="Keep",s[s.Brackets=2]="Brackets",s[s.Advanced=3]="Advanced",s[s.Full=4]="Full"})(pN||(pN={}));var mN;(function(s){s[s.acceptSuggestionOnCommitCharacter=0]="acceptSuggestionOnCommitCharacter",s[s.acceptSuggestionOnEnter=1]="acceptSuggestionOnEnter",s[s.accessibilitySupport=2]="accessibilitySupport",s[s.accessibilityPageSize=3]="accessibilityPageSize",s[s.ariaLabel=4]="ariaLabel",s[s.ariaRequired=5]="ariaRequired",s[s.autoClosingBrackets=6]="autoClosingBrackets",s[s.autoClosingComments=7]="autoClosingComments",s[s.screenReaderAnnounceInlineSuggestion=8]="screenReaderAnnounceInlineSuggestion",s[s.autoClosingDelete=9]="autoClosingDelete",s[s.autoClosingOvertype=10]="autoClosingOvertype",s[s.autoClosingQuotes=11]="autoClosingQuotes",s[s.autoIndent=12]="autoIndent",s[s.automaticLayout=13]="automaticLayout",s[s.autoSurround=14]="autoSurround",s[s.bracketPairColorization=15]="bracketPairColorization",s[s.guides=16]="guides",s[s.codeLens=17]="codeLens",s[s.codeLensFontFamily=18]="codeLensFontFamily",s[s.codeLensFontSize=19]="codeLensFontSize",s[s.colorDecorators=20]="colorDecorators",s[s.colorDecoratorsLimit=21]="colorDecoratorsLimit",s[s.columnSelection=22]="columnSelection",s[s.comments=23]="comments",s[s.contextmenu=24]="contextmenu",s[s.copyWithSyntaxHighlighting=25]="copyWithSyntaxHighlighting",s[s.cursorBlinking=26]="cursorBlinking",s[s.cursorSmoothCaretAnimation=27]="cursorSmoothCaretAnimation",s[s.cursorStyle=28]="cursorStyle",s[s.cursorSurroundingLines=29]="cursorSurroundingLines",s[s.cursorSurroundingLinesStyle=30]="cursorSurroundingLinesStyle",s[s.cursorWidth=31]="cursorWidth",s[s.disableLayerHinting=32]="disableLayerHinting",s[s.disableMonospaceOptimizations=33]="disableMonospaceOptimizations",s[s.domReadOnly=34]="domReadOnly",s[s.dragAndDrop=35]="dragAndDrop",s[s.dropIntoEditor=36]="dropIntoEditor",s[s.emptySelectionClipboard=37]="emptySelectionClipboard",s[s.experimentalWhitespaceRendering=38]="experimentalWhitespaceRendering",s[s.extraEditorClassName=39]="extraEditorClassName",s[s.fastScrollSensitivity=40]="fastScrollSensitivity",s[s.find=41]="find",s[s.fixedOverflowWidgets=42]="fixedOverflowWidgets",s[s.folding=43]="folding",s[s.foldingStrategy=44]="foldingStrategy",s[s.foldingHighlight=45]="foldingHighlight",s[s.foldingImportsByDefault=46]="foldingImportsByDefault",s[s.foldingMaximumRegions=47]="foldingMaximumRegions",s[s.unfoldOnClickAfterEndOfLine=48]="unfoldOnClickAfterEndOfLine",s[s.fontFamily=49]="fontFamily",s[s.fontInfo=50]="fontInfo",s[s.fontLigatures=51]="fontLigatures",s[s.fontSize=52]="fontSize",s[s.fontWeight=53]="fontWeight",s[s.fontVariations=54]="fontVariations",s[s.formatOnPaste=55]="formatOnPaste",s[s.formatOnType=56]="formatOnType",s[s.glyphMargin=57]="glyphMargin",s[s.gotoLocation=58]="gotoLocation",s[s.hideCursorInOverviewRuler=59]="hideCursorInOverviewRuler",s[s.hover=60]="hover",s[s.inDiffEditor=61]="inDiffEditor",s[s.inlineSuggest=62]="inlineSuggest",s[s.inlineEdit=63]="inlineEdit",s[s.letterSpacing=64]="letterSpacing",s[s.lightbulb=65]="lightbulb",s[s.lineDecorationsWidth=66]="lineDecorationsWidth",s[s.lineHeight=67]="lineHeight",s[s.lineNumbers=68]="lineNumbers",s[s.lineNumbersMinChars=69]="lineNumbersMinChars",s[s.linkedEditing=70]="linkedEditing",s[s.links=71]="links",s[s.matchBrackets=72]="matchBrackets",s[s.minimap=73]="minimap",s[s.mouseStyle=74]="mouseStyle",s[s.mouseWheelScrollSensitivity=75]="mouseWheelScrollSensitivity",s[s.mouseWheelZoom=76]="mouseWheelZoom",s[s.multiCursorMergeOverlapping=77]="multiCursorMergeOverlapping",s[s.multiCursorModifier=78]="multiCursorModifier",s[s.multiCursorPaste=79]="multiCursorPaste",s[s.multiCursorLimit=80]="multiCursorLimit",s[s.occurrencesHighlight=81]="occurrencesHighlight",s[s.overviewRulerBorder=82]="overviewRulerBorder",s[s.overviewRulerLanes=83]="overviewRulerLanes",s[s.padding=84]="padding",s[s.pasteAs=85]="pasteAs",s[s.parameterHints=86]="parameterHints",s[s.peekWidgetDefaultFocus=87]="peekWidgetDefaultFocus",s[s.definitionLinkOpensInPeek=88]="definitionLinkOpensInPeek",s[s.quickSuggestions=89]="quickSuggestions",s[s.quickSuggestionsDelay=90]="quickSuggestionsDelay",s[s.readOnly=91]="readOnly",s[s.readOnlyMessage=92]="readOnlyMessage",s[s.renameOnType=93]="renameOnType",s[s.renderControlCharacters=94]="renderControlCharacters",s[s.renderFinalNewline=95]="renderFinalNewline",s[s.renderLineHighlight=96]="renderLineHighlight",s[s.renderLineHighlightOnlyWhenFocus=97]="renderLineHighlightOnlyWhenFocus",s[s.renderValidationDecorations=98]="renderValidationDecorations",s[s.renderWhitespace=99]="renderWhitespace",s[s.revealHorizontalRightPadding=100]="revealHorizontalRightPadding",s[s.roundedSelection=101]="roundedSelection",s[s.rulers=102]="rulers",s[s.scrollbar=103]="scrollbar",s[s.scrollBeyondLastColumn=104]="scrollBeyondLastColumn",s[s.scrollBeyondLastLine=105]="scrollBeyondLastLine",s[s.scrollPredominantAxis=106]="scrollPredominantAxis",s[s.selectionClipboard=107]="selectionClipboard",s[s.selectionHighlight=108]="selectionHighlight",s[s.selectOnLineNumbers=109]="selectOnLineNumbers",s[s.showFoldingControls=110]="showFoldingControls",s[s.showUnused=111]="showUnused",s[s.snippetSuggestions=112]="snippetSuggestions",s[s.smartSelect=113]="smartSelect",s[s.smoothScrolling=114]="smoothScrolling",s[s.stickyScroll=115]="stickyScroll",s[s.stickyTabStops=116]="stickyTabStops",s[s.stopRenderingLineAfter=117]="stopRenderingLineAfter",s[s.suggest=118]="suggest",s[s.suggestFontSize=119]="suggestFontSize",s[s.suggestLineHeight=120]="suggestLineHeight",s[s.suggestOnTriggerCharacters=121]="suggestOnTriggerCharacters",s[s.suggestSelection=122]="suggestSelection",s[s.tabCompletion=123]="tabCompletion",s[s.tabIndex=124]="tabIndex",s[s.unicodeHighlighting=125]="unicodeHighlighting",s[s.unusualLineTerminators=126]="unusualLineTerminators",s[s.useShadowDOM=127]="useShadowDOM",s[s.useTabStops=128]="useTabStops",s[s.wordBreak=129]="wordBreak",s[s.wordSegmenterLocales=130]="wordSegmenterLocales",s[s.wordSeparators=131]="wordSeparators",s[s.wordWrap=132]="wordWrap",s[s.wordWrapBreakAfterCharacters=133]="wordWrapBreakAfterCharacters",s[s.wordWrapBreakBeforeCharacters=134]="wordWrapBreakBeforeCharacters",s[s.wordWrapColumn=135]="wordWrapColumn",s[s.wordWrapOverride1=136]="wordWrapOverride1",s[s.wordWrapOverride2=137]="wordWrapOverride2",s[s.wrappingIndent=138]="wrappingIndent",s[s.wrappingStrategy=139]="wrappingStrategy",s[s.showDeprecated=140]="showDeprecated",s[s.inlayHints=141]="inlayHints",s[s.editorClassName=142]="editorClassName",s[s.pixelRatio=143]="pixelRatio",s[s.tabFocusMode=144]="tabFocusMode",s[s.layoutInfo=145]="layoutInfo",s[s.wrappingInfo=146]="wrappingInfo",s[s.defaultColorDecorators=147]="defaultColorDecorators",s[s.colorDecoratorsActivatedOn=148]="colorDecoratorsActivatedOn",s[s.inlineCompletionsAccessibilityVerbose=149]="inlineCompletionsAccessibilityVerbose"})(mN||(mN={}));var _N;(function(s){s[s.TextDefined=0]="TextDefined",s[s.LF=1]="LF",s[s.CRLF=2]="CRLF"})(_N||(_N={}));var vN;(function(s){s[s.LF=0]="LF",s[s.CRLF=1]="CRLF"})(vN||(vN={}));var bN;(function(s){s[s.Left=1]="Left",s[s.Center=2]="Center",s[s.Right=3]="Right"})(bN||(bN={}));var CN;(function(s){s[s.Increase=0]="Increase",s[s.Decrease=1]="Decrease"})(CN||(CN={}));var wN;(function(s){s[s.None=0]="None",s[s.Indent=1]="Indent",s[s.IndentOutdent=2]="IndentOutdent",s[s.Outdent=3]="Outdent"})(wN||(wN={}));var yN;(function(s){s[s.Both=0]="Both",s[s.Right=1]="Right",s[s.Left=2]="Left",s[s.None=3]="None"})(yN||(yN={}));var SN;(function(s){s[s.Type=1]="Type",s[s.Parameter=2]="Parameter"})(SN||(SN={}));var DN;(function(s){s[s.Automatic=0]="Automatic",s[s.Explicit=1]="Explicit"})(DN||(DN={}));var LN;(function(s){s[s.Invoke=0]="Invoke",s[s.Automatic=1]="Automatic"})(LN||(LN={}));var xN;(function(s){s[s.DependsOnKbLayout=-1]="DependsOnKbLayout",s[s.Unknown=0]="Unknown",s[s.Backspace=1]="Backspace",s[s.Tab=2]="Tab",s[s.Enter=3]="Enter",s[s.Shift=4]="Shift",s[s.Ctrl=5]="Ctrl",s[s.Alt=6]="Alt",s[s.PauseBreak=7]="PauseBreak",s[s.CapsLock=8]="CapsLock",s[s.Escape=9]="Escape",s[s.Space=10]="Space",s[s.PageUp=11]="PageUp",s[s.PageDown=12]="PageDown",s[s.End=13]="End",s[s.Home=14]="Home",s[s.LeftArrow=15]="LeftArrow",s[s.UpArrow=16]="UpArrow",s[s.RightArrow=17]="RightArrow",s[s.DownArrow=18]="DownArrow",s[s.Insert=19]="Insert",s[s.Delete=20]="Delete",s[s.Digit0=21]="Digit0",s[s.Digit1=22]="Digit1",s[s.Digit2=23]="Digit2",s[s.Digit3=24]="Digit3",s[s.Digit4=25]="Digit4",s[s.Digit5=26]="Digit5",s[s.Digit6=27]="Digit6",s[s.Digit7=28]="Digit7",s[s.Digit8=29]="Digit8",s[s.Digit9=30]="Digit9",s[s.KeyA=31]="KeyA",s[s.KeyB=32]="KeyB",s[s.KeyC=33]="KeyC",s[s.KeyD=34]="KeyD",s[s.KeyE=35]="KeyE",s[s.KeyF=36]="KeyF",s[s.KeyG=37]="KeyG",s[s.KeyH=38]="KeyH",s[s.KeyI=39]="KeyI",s[s.KeyJ=40]="KeyJ",s[s.KeyK=41]="KeyK",s[s.KeyL=42]="KeyL",s[s.KeyM=43]="KeyM",s[s.KeyN=44]="KeyN",s[s.KeyO=45]="KeyO",s[s.KeyP=46]="KeyP",s[s.KeyQ=47]="KeyQ",s[s.KeyR=48]="KeyR",s[s.KeyS=49]="KeyS",s[s.KeyT=50]="KeyT",s[s.KeyU=51]="KeyU",s[s.KeyV=52]="KeyV",s[s.KeyW=53]="KeyW",s[s.KeyX=54]="KeyX",s[s.KeyY=55]="KeyY",s[s.KeyZ=56]="KeyZ",s[s.Meta=57]="Meta",s[s.ContextMenu=58]="ContextMenu",s[s.F1=59]="F1",s[s.F2=60]="F2",s[s.F3=61]="F3",s[s.F4=62]="F4",s[s.F5=63]="F5",s[s.F6=64]="F6",s[s.F7=65]="F7",s[s.F8=66]="F8",s[s.F9=67]="F9",s[s.F10=68]="F10",s[s.F11=69]="F11",s[s.F12=70]="F12",s[s.F13=71]="F13",s[s.F14=72]="F14",s[s.F15=73]="F15",s[s.F16=74]="F16",s[s.F17=75]="F17",s[s.F18=76]="F18",s[s.F19=77]="F19",s[s.F20=78]="F20",s[s.F21=79]="F21",s[s.F22=80]="F22",s[s.F23=81]="F23",s[s.F24=82]="F24",s[s.NumLock=83]="NumLock",s[s.ScrollLock=84]="ScrollLock",s[s.Semicolon=85]="Semicolon",s[s.Equal=86]="Equal",s[s.Comma=87]="Comma",s[s.Minus=88]="Minus",s[s.Period=89]="Period",s[s.Slash=90]="Slash",s[s.Backquote=91]="Backquote",s[s.BracketLeft=92]="BracketLeft",s[s.Backslash=93]="Backslash",s[s.BracketRight=94]="BracketRight",s[s.Quote=95]="Quote",s[s.OEM_8=96]="OEM_8",s[s.IntlBackslash=97]="IntlBackslash",s[s.Numpad0=98]="Numpad0",s[s.Numpad1=99]="Numpad1",s[s.Numpad2=100]="Numpad2",s[s.Numpad3=101]="Numpad3",s[s.Numpad4=102]="Numpad4",s[s.Numpad5=103]="Numpad5",s[s.Numpad6=104]="Numpad6",s[s.Numpad7=105]="Numpad7",s[s.Numpad8=106]="Numpad8",s[s.Numpad9=107]="Numpad9",s[s.NumpadMultiply=108]="NumpadMultiply",s[s.NumpadAdd=109]="NumpadAdd",s[s.NUMPAD_SEPARATOR=110]="NUMPAD_SEPARATOR",s[s.NumpadSubtract=111]="NumpadSubtract",s[s.NumpadDecimal=112]="NumpadDecimal",s[s.NumpadDivide=113]="NumpadDivide",s[s.KEY_IN_COMPOSITION=114]="KEY_IN_COMPOSITION",s[s.ABNT_C1=115]="ABNT_C1",s[s.ABNT_C2=116]="ABNT_C2",s[s.AudioVolumeMute=117]="AudioVolumeMute",s[s.AudioVolumeUp=118]="AudioVolumeUp",s[s.AudioVolumeDown=119]="AudioVolumeDown",s[s.BrowserSearch=120]="BrowserSearch",s[s.BrowserHome=121]="BrowserHome",s[s.BrowserBack=122]="BrowserBack",s[s.BrowserForward=123]="BrowserForward",s[s.MediaTrackNext=124]="MediaTrackNext",s[s.MediaTrackPrevious=125]="MediaTrackPrevious",s[s.MediaStop=126]="MediaStop",s[s.MediaPlayPause=127]="MediaPlayPause",s[s.LaunchMediaPlayer=128]="LaunchMediaPlayer",s[s.LaunchMail=129]="LaunchMail",s[s.LaunchApp2=130]="LaunchApp2",s[s.Clear=131]="Clear",s[s.MAX_VALUE=132]="MAX_VALUE"})(xN||(xN={}));var kN;(function(s){s[s.Hint=1]="Hint",s[s.Info=2]="Info",s[s.Warning=4]="Warning",s[s.Error=8]="Error"})(kN||(kN={}));var EN;(function(s){s[s.Unnecessary=1]="Unnecessary",s[s.Deprecated=2]="Deprecated"})(EN||(EN={}));var IN;(function(s){s[s.Inline=1]="Inline",s[s.Gutter=2]="Gutter"})(IN||(IN={}));var TN;(function(s){s[s.Normal=1]="Normal",s[s.Underlined=2]="Underlined"})(TN||(TN={}));var NN;(function(s){s[s.UNKNOWN=0]="UNKNOWN",s[s.TEXTAREA=1]="TEXTAREA",s[s.GUTTER_GLYPH_MARGIN=2]="GUTTER_GLYPH_MARGIN",s[s.GUTTER_LINE_NUMBERS=3]="GUTTER_LINE_NUMBERS",s[s.GUTTER_LINE_DECORATIONS=4]="GUTTER_LINE_DECORATIONS",s[s.GUTTER_VIEW_ZONE=5]="GUTTER_VIEW_ZONE",s[s.CONTENT_TEXT=6]="CONTENT_TEXT",s[s.CONTENT_EMPTY=7]="CONTENT_EMPTY",s[s.CONTENT_VIEW_ZONE=8]="CONTENT_VIEW_ZONE",s[s.CONTENT_WIDGET=9]="CONTENT_WIDGET",s[s.OVERVIEW_RULER=10]="OVERVIEW_RULER",s[s.SCROLLBAR=11]="SCROLLBAR",s[s.OVERLAY_WIDGET=12]="OVERLAY_WIDGET",s[s.OUTSIDE_EDITOR=13]="OUTSIDE_EDITOR"})(NN||(NN={}));var AN;(function(s){s[s.AIGenerated=1]="AIGenerated"})(AN||(AN={}));var MN;(function(s){s[s.Invoke=0]="Invoke",s[s.Automatic=1]="Automatic"})(MN||(MN={}));var RN;(function(s){s[s.TOP_RIGHT_CORNER=0]="TOP_RIGHT_CORNER",s[s.BOTTOM_RIGHT_CORNER=1]="BOTTOM_RIGHT_CORNER",s[s.TOP_CENTER=2]="TOP_CENTER"})(RN||(RN={}));var PN;(function(s){s[s.Left=1]="Left",s[s.Center=2]="Center",s[s.Right=4]="Right",s[s.Full=7]="Full"})(PN||(PN={}));var FN;(function(s){s[s.Word=0]="Word",s[s.Line=1]="Line",s[s.Suggest=2]="Suggest"})(FN||(FN={}));var ON;(function(s){s[s.Left=0]="Left",s[s.Right=1]="Right",s[s.None=2]="None",s[s.LeftOfInjectedText=3]="LeftOfInjectedText",s[s.RightOfInjectedText=4]="RightOfInjectedText"})(ON||(ON={}));var BN;(function(s){s[s.Off=0]="Off",s[s.On=1]="On",s[s.Relative=2]="Relative",s[s.Interval=3]="Interval",s[s.Custom=4]="Custom"})(BN||(BN={}));var WN;(function(s){s[s.None=0]="None",s[s.Text=1]="Text",s[s.Blocks=2]="Blocks"})(WN||(WN={}));var HN;(function(s){s[s.Smooth=0]="Smooth",s[s.Immediate=1]="Immediate"})(HN||(HN={}));var VN;(function(s){s[s.Auto=1]="Auto",s[s.Hidden=2]="Hidden",s[s.Visible=3]="Visible"})(VN||(VN={}));var zN;(function(s){s[s.LTR=0]="LTR",s[s.RTL=1]="RTL"})(zN||(zN={}));var UN;(function(s){s.Off="off",s.OnCode="onCode",s.On="on"})(UN||(UN={}));var $N;(function(s){s[s.Invoke=1]="Invoke",s[s.TriggerCharacter=2]="TriggerCharacter",s[s.ContentChange=3]="ContentChange"})($N||($N={}));var jN;(function(s){s[s.File=0]="File",s[s.Module=1]="Module",s[s.Namespace=2]="Namespace",s[s.Package=3]="Package",s[s.Class=4]="Class",s[s.Method=5]="Method",s[s.Property=6]="Property",s[s.Field=7]="Field",s[s.Constructor=8]="Constructor",s[s.Enum=9]="Enum",s[s.Interface=10]="Interface",s[s.Function=11]="Function",s[s.Variable=12]="Variable",s[s.Constant=13]="Constant",s[s.String=14]="String",s[s.Number=15]="Number",s[s.Boolean=16]="Boolean",s[s.Array=17]="Array",s[s.Object=18]="Object",s[s.Key=19]="Key",s[s.Null=20]="Null",s[s.EnumMember=21]="EnumMember",s[s.Struct=22]="Struct",s[s.Event=23]="Event",s[s.Operator=24]="Operator",s[s.TypeParameter=25]="TypeParameter"})(jN||(jN={}));var KN;(function(s){s[s.Deprecated=1]="Deprecated"})(KN||(KN={}));var qN;(function(s){s[s.Hidden=0]="Hidden",s[s.Blink=1]="Blink",s[s.Smooth=2]="Smooth",s[s.Phase=3]="Phase",s[s.Expand=4]="Expand",s[s.Solid=5]="Solid"})(qN||(qN={}));var GN;(function(s){s[s.Line=1]="Line",s[s.Block=2]="Block",s[s.Underline=3]="Underline",s[s.LineThin=4]="LineThin",s[s.BlockOutline=5]="BlockOutline",s[s.UnderlineThin=6]="UnderlineThin"})(GN||(GN={}));var ZN;(function(s){s[s.AlwaysGrowsWhenTypingAtEdges=0]="AlwaysGrowsWhenTypingAtEdges",s[s.NeverGrowsWhenTypingAtEdges=1]="NeverGrowsWhenTypingAtEdges",s[s.GrowsOnlyWhenTypingBefore=2]="GrowsOnlyWhenTypingBefore",s[s.GrowsOnlyWhenTypingAfter=3]="GrowsOnlyWhenTypingAfter"})(ZN||(ZN={}));var XN;(function(s){s[s.None=0]="None",s[s.Same=1]="Same",s[s.Indent=2]="Indent",s[s.DeepIndent=3]="DeepIndent"})(XN||(XN={}));let l1=class{static chord(e,t){return an(e,t)}};l1.CtrlCmd=2048;l1.Shift=1024;l1.Alt=512;l1.WinCtrl=256;function iz(){return{editor:void 0,languages:void 0,CancellationTokenSource:Vi,Emitter:B,KeyCode:xN,KeyMod:l1,Position:W,Range:x,Selection:we,SelectionDirection:zN,MarkerSeverity:kN,MarkerTag:EN,Uri:Ae,Token:Ib}}function Sre(s,e){const t=s;typeof t.vscodeWindowId!="number"&&Object.defineProperty(t,"vscodeWindowId",{get:()=>e})}const Ht=window;function nz(s){return s}class Dre{constructor(e,t){this.lastCache=void 0,this.lastArgKey=void 0,typeof e=="function"?(this._fn=e,this._computeKey=nz):(this._fn=t,this._computeKey=e.getCacheKey)}get(e){const t=this._computeKey(e);return this.lastArgKey!==t&&(this.lastArgKey=t,this.lastCache=this._fn(e)),this.lastCache}}class r3{get cachedValues(){return this._map}constructor(e,t){this._map=new Map,this._map2=new Map,typeof e=="function"?(this._fn=e,this._computeKey=nz):(this._fn=t,this._computeKey=e.getCacheKey)}get(e){const t=this._computeKey(e);if(this._map2.has(t))return this._map2.get(t);const i=this._fn(e);return this._map.set(e,i),this._map2.set(t,i),i}}class gl{constructor(e){this.executor=e,this._didRun=!1}get value(){if(!this._didRun)try{this._value=this.executor()}catch(e){this._error=e}finally{this._didRun=!0}if(this._error)throw this._error;return this._value}get rawValue(){return this._value}}var a_;function sz(s){return!s||typeof s!="string"?!0:s.trim().length===0}const Lre=/{(\d+)}/g;function l_(s,...e){return e.length===0?s:s.replace(Lre,function(t,i){const n=parseInt(i,10);return isNaN(n)||n<0||n>=e.length?t:e[n]})}function xre(s){return s.replace(/[<>"'&]/g,e=>{switch(e){case"<":return"<";case">":return">";case'"':return""";case"'":return"'";case"&":return"&"}return e})}function OS(s){return s.replace(/[<>&]/g,function(e){switch(e){case"<":return"<";case">":return">";case"&":return"&";default:return e}})}function rr(s){return s.replace(/[\\\{\}\*\+\?\|\^\$\.\[\]\(\)]/g,"\\$&")}function qL(s,e){if(!s||!e)return s;const t=e.length;if(t===0||s.length===0)return s;let i=0;for(;s.indexOf(e,i)===i;)i=i+t;return s.substring(i)}function kre(s,e){if(!s)return s;const t=e.length,i=s.length;if(t===0||i===0)return s;let n=i,o=-1;for(;o=s.lastIndexOf(e,n-1),!(o===-1||o+t!==n);){if(o===0)return"";n=o}return s.substring(0,n)}function Ere(s){return s.replace(/[\-\\\{\}\+\?\|\^\$\.\,\[\]\(\)\#\s]/g,"\\$&").replace(/[\*]/g,".*")}function oz(s,e,t={}){if(!s)throw new Error("Cannot create regex from empty string");e||(s=rr(s)),t.wholeWord&&(/\B/.test(s.charAt(0))||(s="\\b"+s),/\B/.test(s.charAt(s.length-1))||(s=s+"\\b"));let i="";return t.global&&(i+="g"),t.matchCase||(i+="i"),t.multiline&&(i+="m"),t.unicode&&(i+="u"),new RegExp(s,i)}function Ire(s){return s.source==="^"||s.source==="^$"||s.source==="$"||s.source==="^\\s*$"?!1:!!(s.exec("")&&s.lastIndex===0)}function Td(s){return s.split(/\r\n|\r|\n/)}function Tre(s){var e;const t=[],i=s.split(/(\r\n|\r|\n)/);for(let n=0;n =0;t--){const i=s.charCodeAt(t);if(i!==32&&i!==9)return t}return-1}function Rb(s,e){return s e?1:0}function XP(s,e,t=0,i=s.length,n=0,o=e.length){for(;td)return 1}const r=i-t,a=o-n;return ra?1:0}function YN(s,e){return d1(s,e,0,s.length,0,e.length)}function d1(s,e,t=0,i=s.length,n=0,o=e.length){for(;t=128||d>=128)return XP(s.toLowerCase(),e.toLowerCase(),t,i,n,o);Bu(l)&&(l-=32),Bu(d)&&(d-=32);const c=l-d;if(c!==0)return c}const r=i-t,a=o-n;return ra?1:0}function uw(s){return s>=48&&s<=57}function Bu(s){return s>=97&&s<=122}function Fl(s){return s>=65&&s<=90}function em(s,e){return s.length===e.length&&d1(s,e)===0}function YP(s,e){const t=e.length;return e.length>s.length?!1:d1(s,e,0,t)===0}function Sh(s,e){const t=Math.min(s.length,e.length);let i;for(i=0;i 1){const i=s.charCodeAt(e-2);if(Cn(i))return QP(i,t)}return t}class JP{get offset(){return this._offset}constructor(e,t=0){this._str=e,this._len=e.length,this._offset=t}setOffset(e){this._offset=e}prevCodePoint(){const e=Nre(this._str,this._offset);return this._offset-=e>=65536?2:1,e}nextCodePoint(){const e=WS(this._str,this._len,this._offset);return this._offset+=e>=65536?2:1,e}eol(){return this._offset>=this._len}}class HS{get offset(){return this._iterator.offset}constructor(e,t=0){this._iterator=new JP(e,t)}nextGraphemeLength(){const e=Wu.getInstance(),t=this._iterator,i=t.offset;let n=e.getGraphemeBreakType(t.nextCodePoint());for(;!t.eol();){const o=t.offset,r=e.getGraphemeBreakType(t.nextCodePoint());if(a3(n,r)){t.setOffset(o);break}n=r}return t.offset-i}prevGraphemeLength(){const e=Wu.getInstance(),t=this._iterator,i=t.offset;let n=e.getGraphemeBreakType(t.prevCodePoint());for(;t.offset>0;){const o=t.offset,r=e.getGraphemeBreakType(t.prevCodePoint());if(a3(r,n)){t.setOffset(o);break}n=r}return i-t.offset}eol(){return this._iterator.eol()}}function eF(s,e){return new HS(s,e).nextGraphemeLength()}function rz(s,e){return new HS(s,e).prevGraphemeLength()}function Are(s,e){e>0&&Cf(s.charCodeAt(e))&&e--;const t=e+eF(s,e);return[t-rz(s,t),t]}let ME;function Mre(){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 d_(s){return ME||(ME=Mre()),ME.test(s)}const Rre=/^[\t\n\r\x20-\x7E]*$/;function c1(s){return Rre.test(s)}const az=/[\u2028\u2029]/;function lz(s){return az.test(s)}function Dh(s){return s>=11904&&s<=55215||s>=63744&&s<=64255||s>=65281&&s<=65374}function tF(s){return s>=127462&&s<=127487||s===8986||s===8987||s===9200||s===9203||s>=9728&&s<=10175||s===11088||s===11093||s>=127744&&s<=128591||s>=128640&&s<=128764||s>=128992&&s<=129008||s>=129280&&s<=129535||s>=129648&&s<=129782}const Pre="\uFEFF";function iF(s){return!!(s&&s.length>0&&s.charCodeAt(0)===65279)}function Fre(s,e=!1){return s?(e&&(s=s.replace(/\\./g,"")),s.toLowerCase()!==s):!1}function dz(s){return s=s%(2*26),s<26?String.fromCharCode(97+s):String.fromCharCode(65+s-26)}function a3(s,e){return s===0?e!==5&&e!==7:s===2&&e===3?!1:s===4||s===2||s===3||e===4||e===2||e===3?!0:!(s===8&&(e===8||e===9||e===11||e===12)||(s===11||s===9)&&(e===9||e===10)||(s===12||s===10)&&e===10||e===5||e===13||e===7||s===1||s===13&&e===14||s===6&&e===6)}class Wu{static getInstance(){return Wu._INSTANCE||(Wu._INSTANCE=new Wu),Wu._INSTANCE}constructor(){this._data=Ore()}getGraphemeBreakType(e){if(e<32)return e===10?3:e===13?2:4;if(e<127)return 0;const t=this._data,i=t.length/3;let n=1;for(;n<=i;)if(e t[3*n+1])n=2*n+1;else return t[3*n+2];return 0}}Wu._INSTANCE=null;function Ore(){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 Bre(s,e){if(s===0)return 0;const t=Wre(s,e);if(t!==void 0)return t;const i=new JP(e,s);return i.prevCodePoint(),i.offset}function Wre(s,e){const t=new JP(e,s);let i=t.prevCodePoint();for(;Hre(i)||i===65039||i===8419;){if(t.offset===0)return;i=t.prevCodePoint()}if(!tF(i))return;let n=t.offset;return n>0&&t.prevCodePoint()===8205&&(n=t.offset),n}function Hre(s){return 127995<=s&&s<=127999}const cz=" ";class wf{static getInstance(e){return a_.cache.get(Array.from(e))}static getLocales(){return a_._locales.value}constructor(e){this.confusableDictionary=e}isAmbiguous(e){return this.confusableDictionary.has(e)}getPrimaryConfusable(e){return this.confusableDictionary.get(e)}getConfusableCodePoints(){return new Set(this.confusableDictionary.keys())}}a_=wf;wf.ambiguousCharacterData=new gl(()=>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]}'));wf.cache=new Dre({getCacheKey:JSON.stringify},s=>{function e(d){const c=new Map;for(let u=0;u !d.startsWith("_")&&d in n);o.length===0&&(o=["_default"]);let r;for(const d of o){const c=e(n[d]);r=i(r,c)}const a=e(n._common),l=t(a,r);return new a_(l)});wf._locales=new gl(()=>Object.keys(a_.ambiguousCharacterData.value).filter(s=>!s.startsWith("_")));class ld{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 getData(){return this._data||(this._data=new Set(ld.getRawData())),this._data}static isInvisibleCharacter(e){return ld.getData().has(e)}static get codePoints(){return ld.getData()}}ld._data=void 0;class QN{constructor(){this.mapWindowIdToZoomFactor=new Map}getZoomFactor(e){var t;return(t=this.mapWindowIdToZoomFactor.get(this.getWindowId(e)))!==null&&t!==void 0?t:1}getWindowId(e){return e.vscodeWindowId}}QN.INSTANCE=new QN;function uz(s,e,t){typeof e=="string"&&(e=s.matchMedia(e)),e.addEventListener("change",t)}function Vre(s){return QN.INSTANCE.getZoomFactor(s)}const s0=navigator.userAgent,Fr=s0.indexOf("Firefox")>=0,GL=s0.indexOf("AppleWebKit")>=0,u1=s0.indexOf("Chrome")>=0,Lh=!u1&&s0.indexOf("Safari")>=0,hz=!u1&&!Lh&&GL;s0.indexOf("Electron/")>=0;const l3=s0.indexOf("Android")>=0;let RE=!1;if(typeof Ht.matchMedia=="function"){const s=Ht.matchMedia("(display-mode: standalone) or (display-mode: window-controls-overlay)"),e=Ht.matchMedia("(display-mode: fullscreen)");RE=s.matches,uz(Ht,s,({matches:t})=>{RE&&e.matches||(RE=t)})}const nF={clipboard:{writeText:md||document.queryCommandSupported&&document.queryCommandSupported("copy")||!!(navigator&&navigator.clipboard&&navigator.clipboard.writeText),readText:md||!!(navigator&&navigator.clipboard&&navigator.clipboard.readText)},pointerEvents:Ht.PointerEvent&&("ontouchstart"in Ht||navigator.maxTouchPoints>0)};function JN(s,e){if(typeof s=="number"){if(s===0)return null;const t=(s&65535)>>>0,i=(s&4294901760)>>>16;return i!==0?new PE([hw(t,e),hw(i,e)]):new PE([hw(t,e)])}else{const t=[];for(let i=0;i {const r=e.token.onCancellationRequested(()=>{r.dispose(),o(new sl)});Promise.resolve(t).then(a=>{r.dispose(),e.dispose(),n(a)},a=>{r.dispose(),e.dispose(),o(a)})});return new class{cancel(){e.cancel(),e.dispose()}then(n,o){return i.then(n,o)}catch(n){return this.then(void 0,n)}finally(n){return i.finally(n)}}}function h1(s,e,t){return new Promise((i,n)=>{const o=e.onCancellationRequested(()=>{o.dispose(),i(t)});s.then(i,n).finally(()=>o.dispose())})}class Yre{constructor(){this.isDisposed=!1,this.activePromise=null,this.queuedPromise=null,this.queuedPromiseFactory=null}queue(e){if(this.isDisposed)return Promise.reject(new Error("Throttler is disposed"));if(this.activePromise){if(this.queuedPromiseFactory=e,!this.queuedPromise){const t=()=>{if(this.queuedPromise=null,this.isDisposed)return;const i=this.queue(this.queuedPromiseFactory);return this.queuedPromiseFactory=null,i};this.queuedPromise=new Promise(i=>{this.activePromise.then(t,t).then(i)})}return new Promise((t,i)=>{this.queuedPromise.then(t,i)})}return this.activePromise=e(),new Promise((t,i)=>{this.activePromise.then(n=>{this.activePromise=null,t(n)},n=>{this.activePromise=null,i(n)})})}dispose(){this.isDisposed=!0}}const Qre=(s,e)=>{let t=!0;const i=setTimeout(()=>{t=!1,e()},s);return{isTriggered:()=>t,dispose:()=>{clearTimeout(i),t=!1}}},Jre=s=>{let e=!0;return queueMicrotask(()=>{e&&(e=!1,s())}),{isTriggered:()=>e,dispose:()=>{e=!1}}};class _a{constructor(e){this.defaultDelay=e,this.deferred=null,this.completionPromise=null,this.doResolve=null,this.doReject=null,this.task=null}trigger(e,t=this.defaultDelay){this.task=e,this.cancelTimeout(),this.completionPromise||(this.completionPromise=new Promise((n,o)=>{this.doResolve=n,this.doReject=o}).then(()=>{if(this.completionPromise=null,this.doResolve=null,this.task){const n=this.task;return this.task=null,n()}}));const i=()=>{var n;this.deferred=null,(n=this.doResolve)===null||n===void 0||n.call(this,null)};return this.deferred=t===gz?Jre(i):Qre(t,i),this.completionPromise}isTriggered(){var e;return!!(!((e=this.deferred)===null||e===void 0)&&e.isTriggered())}cancel(){var e;this.cancelTimeout(),this.completionPromise&&((e=this.doReject)===null||e===void 0||e.call(this,new sl),this.completionPromise=null)}cancelTimeout(){var e;(e=this.deferred)===null||e===void 0||e.dispose(),this.deferred=null}dispose(){this.cancel()}}class fz{constructor(e){this.delayer=new _a(e),this.throttler=new Yre}trigger(e,t){return this.delayer.trigger(()=>this.throttler.queue(e),t)}cancel(){this.delayer.cancel()}dispose(){this.delayer.dispose(),this.throttler.dispose()}}function xh(s,e){return e?new Promise((t,i)=>{const n=setTimeout(()=>{o.dispose(),t()},s),o=e.onCancellationRequested(()=>{clearTimeout(n),o.dispose(),i(new sl)})}):Dn(t=>xh(s,t))}function kh(s,e=0,t){const i=setTimeout(()=>{s(),t&&n.dispose()},e),n=Ie(()=>{clearTimeout(i),t==null||t.deleteAndLeak(n)});return t==null||t.add(n),n}function sF(s,e=i=>!!i,t=null){let i=0;const n=s.length,o=()=>{if(i>=n)return Promise.resolve(t);const r=s[i++];return Promise.resolve(r()).then(l=>e(l)?Promise.resolve(l):o())};return o()}class ya{constructor(e,t){this._token=-1,typeof e=="function"&&typeof t=="number"&&this.setIfNotSet(e,t)}dispose(){this.cancel()}cancel(){this._token!==-1&&(clearTimeout(this._token),this._token=-1)}cancelAndSet(e,t){this.cancel(),this._token=setTimeout(()=>{this._token=-1,e()},t)}setIfNotSet(e,t){this._token===-1&&(this._token=setTimeout(()=>{this._token=-1,e()},t))}}class oF{constructor(){this.disposable=void 0}cancel(){var e;(e=this.disposable)===null||e===void 0||e.dispose(),this.disposable=void 0}cancelAndSet(e,t,i=globalThis){this.cancel();const n=i.setInterval(()=>{e()},t);this.disposable=Ie(()=>{i.clearInterval(n),this.disposable=void 0})}dispose(){this.cancel()}}class Wt{constructor(e,t){this.timeoutToken=-1,this.runner=e,this.timeout=t,this.timeoutHandler=this.onTimeout.bind(this)}dispose(){this.cancel(),this.runner=null}cancel(){this.isScheduled()&&(clearTimeout(this.timeoutToken),this.timeoutToken=-1)}schedule(e=this.timeout){this.cancel(),this.timeoutToken=setTimeout(this.timeoutHandler,e)}get delay(){return this.timeout}set delay(e){this.timeout=e}isScheduled(){return this.timeoutToken!==-1}onTimeout(){this.timeoutToken=-1,this.runner&&this.doRun()}doRun(){var e;(e=this.runner)===null||e===void 0||e.call(this)}}let pz,Vv;(function(){typeof globalThis.requestIdleCallback!="function"||typeof globalThis.cancelIdleCallback!="function"?Vv=(s,e)=>{PV(()=>{if(t)return;const i=Date.now()+15;e(Object.freeze({didTimeout:!0,timeRemaining(){return Math.max(0,i-Date.now())}}))});let t=!1;return{dispose(){t||(t=!0)}}}:Vv=(s,e,t)=>{const i=s.requestIdleCallback(e,typeof t=="number"?{timeout:t}:void 0);let n=!1;return{dispose(){n||(n=!0,s.cancelIdleCallback(i))}}},pz=s=>Vv(globalThis,s)})();class mz{constructor(e,t){this._didRun=!1,this._executor=()=>{try{this._value=t()}catch(i){this._error=i}finally{this._didRun=!0}},this._handle=Vv(e,()=>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}}class eae extends mz{constructor(e){super(globalThis,e)}}class ZL{get isRejected(){var e;return((e=this.outcome)===null||e===void 0?void 0:e.outcome)===1}get isSettled(){return!!this.outcome}constructor(){this.p=new Promise((e,t)=>{this.completeCallback=e,this.errorCallback=t})}complete(e){return new Promise(t=>{this.completeCallback(e),this.outcome={outcome:0,value:e},t()})}error(e){return new Promise(t=>{this.errorCallback(e),this.outcome={outcome:1,value:e},t()})}cancel(){return this.error(new sl)}}var tA;(function(s){async function e(i){let n;const o=await Promise.all(i.map(r=>r.then(a=>a,a=>{n||(n=a)})));if(typeof n<"u")throw n;return o}s.settled=e;function t(i){return new Promise(async(n,o)=>{try{await i(n,o)}catch(r){o(r)}})}s.withAsyncBody=t})(tA||(tA={}));class Xi{static fromArray(e){return new Xi(t=>{t.emitMany(e)})}static fromPromise(e){return new Xi(async t=>{t.emitMany(await e)})}static fromPromises(e){return new Xi(async t=>{await Promise.all(e.map(async i=>t.emitOne(await i)))})}static merge(e){return new Xi(async t=>{await Promise.all(e.map(async i=>{for await(const n of i)t.emitOne(n)}))})}constructor(e,t){this._state=0,this._results=[],this._error=null,this._onReturn=t,this._onStateChanged=new B,queueMicrotask(async()=>{const i={emitOne:n=>this.emitOne(n),emitMany:n=>this.emitMany(n),reject:n=>this.reject(n)};try{await Promise.resolve(e(i)),this.resolve()}catch(n){this.reject(n)}finally{i.emitOne=void 0,i.emitMany=void 0,i.reject=void 0}})}[Symbol.asyncIterator](){let e=0;return{next:async()=>{do{if(this._state===2)throw this._error;if(e {var t;return(t=this._onReturn)===null||t===void 0||t.call(this),{done:!0,value:void 0}}}}static map(e,t){return new Xi(async i=>{for await(const n of e)i.emitOne(t(n))})}map(e){return Xi.map(this,e)}static filter(e,t){return new Xi(async i=>{for await(const n of e)t(n)&&i.emitOne(n)})}filter(e){return Xi.filter(this,e)}static coalesce(e){return Xi.filter(e,t=>!!t)}coalesce(){return Xi.coalesce(this)}static async toPromise(e){const t=[];for await(const i of e)t.push(i);return t}toPromise(){return Xi.toPromise(this)}emitOne(e){this._state===0&&(this._results.push(e),this._onStateChanged.fire())}emitMany(e){this._state===0&&(this._results=this._results.concat(e),this._onStateChanged.fire())}resolve(){this._state===0&&(this._state=1,this._onStateChanged.fire())}reject(e){this._state===0&&(this._state=2,this._error=e,this._onStateChanged.fire())}}Xi.EMPTY=Xi.fromArray([]);class tae extends Xi{constructor(e,t){super(t),this._source=e}cancel(){this._source.cancel()}}function iae(s){const e=new Vi,t=s(e.token);return new tae(e,async i=>{const n=e.token.onCancellationRequested(()=>{n.dispose(),e.dispose(),i.reject(new sl)});try{for await(const o of t){if(e.token.isCancellationRequested)return;i.emitOne(o)}n.dispose(),e.dispose()}catch(o){n.dispose(),e.dispose(),i.reject(o)}})}/*! @license DOMPurify 3.0.5 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.0.5/LICENSE */const{entries:_z,setPrototypeOf:c3,isFrozen:nae,getPrototypeOf:sae,getOwnPropertyDescriptor:oae}=Object;let{freeze:No,seal:ol,create:rae}=Object,{apply:iA,construct:nA}=typeof Reflect<"u"&&Reflect;iA||(iA=function(e,t,i){return e.apply(t,i)});No||(No=function(e){return e});ol||(ol=function(e){return e});nA||(nA=function(e,t){return new e(...t)});const aae=va(Array.prototype.forEach),u3=va(Array.prototype.pop),M0=va(Array.prototype.push),By=va(String.prototype.toLowerCase),FE=va(String.prototype.toString),lae=va(String.prototype.match),xa=va(String.prototype.replace),dae=va(String.prototype.indexOf),cae=va(String.prototype.trim),_r=va(RegExp.prototype.test),R0=uae(TypeError);function va(s){return function(e){for(var t=arguments.length,i=new Array(t>1?t-1:0),n=1;n /gm),mae=ol(/\${[\w\W]*}/gm),_ae=ol(/^data-[\-\w.\u00B7-\uFFFF]/),vae=ol(/^aria-[\-\w]+$/),vz=ol(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),bae=ol(/^(?:\w+script|data):/i),Cae=ol(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),bz=ol(/^html$/i);var m3=Object.freeze({__proto__:null,MUSTACHE_EXPR:fae,ERB_EXPR:pae,TMPLIT_EXPR:mae,DATA_ATTR:_ae,ARIA_ATTR:vae,IS_ALLOWED_URI:vz,IS_SCRIPT_OR_DATA:bae,ATTR_WHITESPACE:Cae,DOCTYPE_NAME:bz});const wae=()=>typeof window>"u"?null:window,yae=function(e,t){if(typeof e!="object"||typeof e.createPolicy!="function")return null;let i=null;const n="data-tt-policy-suffix";t&&t.hasAttribute(n)&&(i=t.getAttribute(n));const o="dompurify"+(i?"#"+i:"");try{return e.createPolicy(o,{createHTML(r){return r},createScriptURL(r){return r}})}catch{return console.warn("TrustedTypes policy "+o+" could not be created."),null}};function Cz(){let s=arguments.length>0&&arguments[0]!==void 0?arguments[0]:wae();const e=ct=>Cz(ct);if(e.version="3.0.5",e.removed=[],!s||!s.document||s.document.nodeType!==9)return e.isSupported=!1,e;const t=s.document,i=t.currentScript;let{document:n}=s;const{DocumentFragment:o,HTMLTemplateElement:r,Node:a,Element:l,NodeFilter:d,NamedNodeMap:c=s.NamedNodeMap||s.MozNamedAttrMap,HTMLFormElement:u,DOMParser:h,trustedTypes:g}=s,f=l.prototype,m=gw(f,"cloneNode"),_=gw(f,"nextSibling"),v=gw(f,"childNodes"),b=gw(f,"parentNode");if(typeof r=="function"){const ct=n.createElement("template");ct.content&&ct.content.ownerDocument&&(n=ct.content.ownerDocument)}let C,w="";const{implementation:y,createNodeIterator:D,createDocumentFragment:L,getElementsByTagName:k}=n,{importNode:I}=t;let O={};e.isSupported=typeof _z=="function"&&typeof b=="function"&&y&&y.createHTMLDocument!==void 0;const{MUSTACHE_EXPR:R,ERB_EXPR:P,TMPLIT_EXPR:F,DATA_ATTR:V,ARIA_ATTR:U,IS_SCRIPT_OR_DATA:J,ATTR_WHITESPACE:pe}=m3;let{IS_ALLOWED_URI:De}=m3,ge=null;const We=Ft({},[...h3,...OE,...BE,...WE,...g3]);let ye=null;const ve=Ft({},[...f3,...HE,...p3,...fw]);let ce=Object.seal(Object.create(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}})),Qt=null,Ui=null,Gi=!0,St=!0,tn=!1,Pn=!0,ln=!1,$e=!1,dn=!1,qr=!1,Wo=!1,Fd=!1,xn=!1,Da=!0,Z1=!1;const aE="user-content-";let se=!0,X=!1,q={},A=null;const M=Ft({},["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 j=null;const z=Ft({},["audio","video","img","source","image","track"]);let ne=null;const _e=Ft({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),Me="http://www.w3.org/1998/Math/MathML",Oe="http://www.w3.org/2000/svg",ot="http://www.w3.org/1999/xhtml";let tt=ot,Jt=!1,Vt=null;const qe=Ft({},[Me,Oe,ot],FE);let Mi;const Ri=["application/xhtml+xml","text/html"],Gr="text/html";let Mt,cn=null;const hg=n.createElement("form"),gg=function(Z){return Z instanceof RegExp||Z instanceof Function},La=function(Z){if(!(cn&&cn===Z)){if((!Z||typeof Z!="object")&&(Z={}),Z=Dp(Z),Mi=Ri.indexOf(Z.PARSER_MEDIA_TYPE)===-1?Mi=Gr:Mi=Z.PARSER_MEDIA_TYPE,Mt=Mi==="application/xhtml+xml"?FE:By,ge="ALLOWED_TAGS"in Z?Ft({},Z.ALLOWED_TAGS,Mt):We,ye="ALLOWED_ATTR"in Z?Ft({},Z.ALLOWED_ATTR,Mt):ve,Vt="ALLOWED_NAMESPACES"in Z?Ft({},Z.ALLOWED_NAMESPACES,FE):qe,ne="ADD_URI_SAFE_ATTR"in Z?Ft(Dp(_e),Z.ADD_URI_SAFE_ATTR,Mt):_e,j="ADD_DATA_URI_TAGS"in Z?Ft(Dp(z),Z.ADD_DATA_URI_TAGS,Mt):z,A="FORBID_CONTENTS"in Z?Ft({},Z.FORBID_CONTENTS,Mt):M,Qt="FORBID_TAGS"in Z?Ft({},Z.FORBID_TAGS,Mt):{},Ui="FORBID_ATTR"in Z?Ft({},Z.FORBID_ATTR,Mt):{},q="USE_PROFILES"in Z?Z.USE_PROFILES:!1,Gi=Z.ALLOW_ARIA_ATTR!==!1,St=Z.ALLOW_DATA_ATTR!==!1,tn=Z.ALLOW_UNKNOWN_PROTOCOLS||!1,Pn=Z.ALLOW_SELF_CLOSE_IN_ATTR!==!1,ln=Z.SAFE_FOR_TEMPLATES||!1,$e=Z.WHOLE_DOCUMENT||!1,Wo=Z.RETURN_DOM||!1,Fd=Z.RETURN_DOM_FRAGMENT||!1,xn=Z.RETURN_TRUSTED_TYPE||!1,qr=Z.FORCE_BODY||!1,Da=Z.SANITIZE_DOM!==!1,Z1=Z.SANITIZE_NAMED_PROPS||!1,se=Z.KEEP_CONTENT!==!1,X=Z.IN_PLACE||!1,De=Z.ALLOWED_URI_REGEXP||vz,tt=Z.NAMESPACE||ot,ce=Z.CUSTOM_ELEMENT_HANDLING||{},Z.CUSTOM_ELEMENT_HANDLING&&gg(Z.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(ce.tagNameCheck=Z.CUSTOM_ELEMENT_HANDLING.tagNameCheck),Z.CUSTOM_ELEMENT_HANDLING&&gg(Z.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(ce.attributeNameCheck=Z.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),Z.CUSTOM_ELEMENT_HANDLING&&typeof Z.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements=="boolean"&&(ce.allowCustomizedBuiltInElements=Z.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),ln&&(St=!1),Fd&&(Wo=!0),q&&(ge=Ft({},[...g3]),ye=[],q.html===!0&&(Ft(ge,h3),Ft(ye,f3)),q.svg===!0&&(Ft(ge,OE),Ft(ye,HE),Ft(ye,fw)),q.svgFilters===!0&&(Ft(ge,BE),Ft(ye,HE),Ft(ye,fw)),q.mathMl===!0&&(Ft(ge,WE),Ft(ye,p3),Ft(ye,fw))),Z.ADD_TAGS&&(ge===We&&(ge=Dp(ge)),Ft(ge,Z.ADD_TAGS,Mt)),Z.ADD_ATTR&&(ye===ve&&(ye=Dp(ye)),Ft(ye,Z.ADD_ATTR,Mt)),Z.ADD_URI_SAFE_ATTR&&Ft(ne,Z.ADD_URI_SAFE_ATTR,Mt),Z.FORBID_CONTENTS&&(A===M&&(A=Dp(A)),Ft(A,Z.FORBID_CONTENTS,Mt)),se&&(ge["#text"]=!0),$e&&Ft(ge,["html","head","body"]),ge.table&&(Ft(ge,["tbody"]),delete Qt.tbody),Z.TRUSTED_TYPES_POLICY){if(typeof Z.TRUSTED_TYPES_POLICY.createHTML!="function")throw R0('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof Z.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw R0('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');C=Z.TRUSTED_TYPES_POLICY,w=C.createHTML("")}else C===void 0&&(C=yae(g,i)),C!==null&&typeof w=="string"&&(w=C.createHTML(""));No&&No(Z),cn=Z}},cu=Ft({},["mi","mo","mn","ms","mtext"]),fg=Ft({},["foreignobject","desc","title","annotation-xml"]),pg=Ft({},["title","style","font","a","script"]),wp=Ft({},OE);Ft(wp,BE),Ft(wp,hae);const mg=Ft({},WE);Ft(mg,gae);const lE=function(Z){let ke=b(Z);(!ke||!ke.tagName)&&(ke={namespaceURI:tt,tagName:"template"});const ze=By(Z.tagName),Pi=By(ke.tagName);return Vt[Z.namespaceURI]?Z.namespaceURI===Oe?ke.namespaceURI===ot?ze==="svg":ke.namespaceURI===Me?ze==="svg"&&(Pi==="annotation-xml"||cu[Pi]):!!wp[ze]:Z.namespaceURI===Me?ke.namespaceURI===ot?ze==="math":ke.namespaceURI===Oe?ze==="math"&&fg[Pi]:!!mg[ze]:Z.namespaceURI===ot?ke.namespaceURI===Oe&&!fg[Pi]||ke.namespaceURI===Me&&!cu[Pi]?!1:!mg[ze]&&(pg[ze]||!wp[ze]):!!(Mi==="application/xhtml+xml"&&Vt[Z.namespaceURI]):!1},bl=function(Z){M0(e.removed,{element:Z});try{Z.parentNode.removeChild(Z)}catch{Z.remove()}},I0=function(Z,ke){try{M0(e.removed,{attribute:ke.getAttributeNode(Z),from:ke})}catch{M0(e.removed,{attribute:null,from:ke})}if(ke.removeAttribute(Z),Z==="is"&&!ye[Z])if(Wo||Fd)try{bl(ke)}catch{}else try{ke.setAttribute(Z,"")}catch{}},T0=function(Z){let ke,ze;if(qr)Z=" "+Z;else{const Zr=lae(Z,/^[\r\n\t ]+/);ze=Zr&&Zr[0]}Mi==="application/xhtml+xml"&&tt===ot&&(Z=''+Z+"");const Pi=C?C.createHTML(Z):Z;if(tt===ot)try{ke=new h().parseFromString(Pi,Mi)}catch{}if(!ke||!ke.documentElement){ke=y.createDocument(tt,"template",null);try{ke.documentElement.innerHTML=Jt?w:Pi}catch{}}const cs=ke.body||ke.documentElement;return Z&&ze&&cs.insertBefore(n.createTextNode(ze),cs.childNodes[0]||null),tt===ot?k.call(ke,$e?"html":"body")[0]:$e?ke.documentElement:cs},X1=function(Z){return D.call(Z.ownerDocument||Z,Z,d.SHOW_ELEMENT|d.SHOW_COMMENT|d.SHOW_TEXT,null,!1)},TZ=function(Z){return Z instanceof u&&(typeof Z.nodeName!="string"||typeof Z.textContent!="string"||typeof Z.removeChild!="function"||!(Z.attributes instanceof c)||typeof Z.removeAttribute!="function"||typeof Z.setAttribute!="function"||typeof Z.namespaceURI!="string"||typeof Z.insertBefore!="function"||typeof Z.hasChildNodes!="function")},Y1=function(Z){return typeof a=="object"?Z instanceof a:Z&&typeof Z=="object"&&typeof Z.nodeType=="number"&&typeof Z.nodeName=="string"},Od=function(Z,ke,ze){O[Z]&&aae(O[Z],Pi=>{Pi.call(e,ke,ze,cn)})},n5=function(Z){let ke;if(Od("beforeSanitizeElements",Z,null),TZ(Z))return bl(Z),!0;const ze=Mt(Z.nodeName);if(Od("uponSanitizeElement",Z,{tagName:ze,allowedTags:ge}),Z.hasChildNodes()&&!Y1(Z.firstElementChild)&&(!Y1(Z.content)||!Y1(Z.content.firstElementChild))&&_r(/<[/\w]/g,Z.innerHTML)&&_r(/<[/\w]/g,Z.textContent))return bl(Z),!0;if(!ge[ze]||Qt[ze]){if(!Qt[ze]&&o5(ze)&&(ce.tagNameCheck instanceof RegExp&&_r(ce.tagNameCheck,ze)||ce.tagNameCheck instanceof Function&&ce.tagNameCheck(ze)))return!1;if(se&&!A[ze]){const Pi=b(Z)||Z.parentNode,cs=v(Z)||Z.childNodes;if(cs&&Pi){const Zr=cs.length;for(let vn=Zr-1;vn>=0;--vn)Pi.insertBefore(m(cs[vn],!0),_(Z))}}return bl(Z),!0}return Z instanceof l&&!lE(Z)||(ze==="noscript"||ze==="noembed"||ze==="noframes")&&_r(/<\/no(script|embed|frames)/i,Z.innerHTML)?(bl(Z),!0):(ln&&Z.nodeType===3&&(ke=Z.textContent,ke=xa(ke,R," "),ke=xa(ke,P," "),ke=xa(ke,F," "),Z.textContent!==ke&&(M0(e.removed,{element:Z.cloneNode()}),Z.textContent=ke)),Od("afterSanitizeElements",Z,null),!1)},s5=function(Z,ke,ze){if(Da&&(ke==="id"||ke==="name")&&(ze in n||ze in hg))return!1;if(!(St&&!Ui[ke]&&_r(V,ke))){if(!(Gi&&_r(U,ke))){if(!ye[ke]||Ui[ke]){if(!(o5(Z)&&(ce.tagNameCheck instanceof RegExp&&_r(ce.tagNameCheck,Z)||ce.tagNameCheck instanceof Function&&ce.tagNameCheck(Z))&&(ce.attributeNameCheck instanceof RegExp&&_r(ce.attributeNameCheck,ke)||ce.attributeNameCheck instanceof Function&&ce.attributeNameCheck(ke))||ke==="is"&&ce.allowCustomizedBuiltInElements&&(ce.tagNameCheck instanceof RegExp&&_r(ce.tagNameCheck,ze)||ce.tagNameCheck instanceof Function&&ce.tagNameCheck(ze))))return!1}else if(!ne[ke]){if(!_r(De,xa(ze,pe,""))){if(!((ke==="src"||ke==="xlink:href"||ke==="href")&&Z!=="script"&&dae(ze,"data:")===0&&j[Z])){if(!(tn&&!_r(J,xa(ze,pe,"")))){if(ze)return!1}}}}}}return!0},o5=function(Z){return Z.indexOf("-")>0},r5=function(Z){let ke,ze,Pi,cs;Od("beforeSanitizeAttributes",Z,null);const{attributes:Zr}=Z;if(!Zr)return;const vn={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:ye};for(cs=Zr.length;cs--;){ke=Zr[cs];const{name:Cl,namespaceURI:dE}=ke;if(ze=Cl==="value"?ke.value:cae(ke.value),Pi=Mt(Cl),vn.attrName=Pi,vn.attrValue=ze,vn.keepAttr=!0,vn.forceKeepAttr=void 0,Od("uponSanitizeAttribute",Z,vn),ze=vn.attrValue,vn.forceKeepAttr||(I0(Cl,Z),!vn.keepAttr))continue;if(!Pn&&_r(/\/>/i,ze)){I0(Cl,Z);continue}ln&&(ze=xa(ze,R," "),ze=xa(ze,P," "),ze=xa(ze,F," "));const a5=Mt(Z.nodeName);if(s5(a5,Pi,ze)){if(Z1&&(Pi==="id"||Pi==="name")&&(I0(Cl,Z),ze=aE+ze),C&&typeof g=="object"&&typeof g.getAttributeType=="function"&&!dE)switch(g.getAttributeType(a5,Pi)){case"TrustedHTML":{ze=C.createHTML(ze);break}case"TrustedScriptURL":{ze=C.createScriptURL(ze);break}}try{dE?Z.setAttributeNS(dE,Cl,ze):Z.setAttribute(Cl,ze),u3(e.removed)}catch{}}}Od("afterSanitizeAttributes",Z,null)},NZ=function ct(Z){let ke;const ze=X1(Z);for(Od("beforeSanitizeShadowDOM",Z,null);ke=ze.nextNode();)Od("uponSanitizeShadowNode",ke,null),!n5(ke)&&(ke.content instanceof o&&ct(ke.content),r5(ke));Od("afterSanitizeShadowDOM",Z,null)};return e.sanitize=function(ct){let Z=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},ke,ze,Pi,cs;if(Jt=!ct,Jt&&(ct=""),typeof ct!="string"&&!Y1(ct))if(typeof ct.toString=="function"){if(ct=ct.toString(),typeof ct!="string")throw R0("dirty is not a string, aborting")}else throw R0("toString is not a function");if(!e.isSupported)return ct;if(dn||La(Z),e.removed=[],typeof ct=="string"&&(X=!1),X){if(ct.nodeName){const Cl=Mt(ct.nodeName);if(!ge[Cl]||Qt[Cl])throw R0("root node is forbidden and cannot be sanitized in-place")}}else if(ct instanceof a)ke=T0(""),ze=ke.ownerDocument.importNode(ct,!0),ze.nodeType===1&&ze.nodeName==="BODY"||ze.nodeName==="HTML"?ke=ze:ke.appendChild(ze);else{if(!Wo&&!ln&&!$e&&ct.indexOf("<")===-1)return C&&xn?C.createHTML(ct):ct;if(ke=T0(ct),!ke)return Wo?null:xn?w:""}ke&&qr&&bl(ke.firstChild);const Zr=X1(X?ct:ke);for(;Pi=Zr.nextNode();)n5(Pi)||(Pi.content instanceof o&&NZ(Pi.content),r5(Pi));if(X)return ct;if(Wo){if(Fd)for(cs=L.call(ke.ownerDocument);ke.firstChild;)cs.appendChild(ke.firstChild);else cs=ke;return(ye.shadowroot||ye.shadowrootmode)&&(cs=I.call(t,cs,!0)),cs}let vn=$e?ke.outerHTML:ke.innerHTML;return $e&&ge["!doctype"]&&ke.ownerDocument&&ke.ownerDocument.doctype&&ke.ownerDocument.doctype.name&&_r(bz,ke.ownerDocument.doctype.name)&&(vn=" `+vn),ln&&(vn=xa(vn,R," "),vn=xa(vn,P," "),vn=xa(vn,F," ")),C&&xn?C.createHTML(vn):vn},e.setConfig=function(ct){La(ct),dn=!0},e.clearConfig=function(){cn=null,dn=!1},e.isValidAttribute=function(ct,Z,ke){cn||La({});const ze=Mt(ct),Pi=Mt(Z);return s5(ze,Pi,ke)},e.addHook=function(ct,Z){typeof Z=="function"&&(O[ct]=O[ct]||[],M0(O[ct],Z))},e.removeHook=function(ct){if(O[ct])return u3(O[ct])},e.removeHooks=function(ct){O[ct]&&(O[ct]=[])},e.removeAllHooks=function(){O={}},e}var Nd=Cz();Nd.version;Nd.isSupported;const wz=Nd.sanitize;Nd.setConfig;Nd.clearConfig;Nd.isValidAttribute;const sA=Nd.addHook,yz=Nd.removeHook;Nd.removeHooks;Nd.removeAllHooks;var Ge;(function(s){s.inMemory="inmemory",s.vscode="vscode",s.internal="private",s.walkThrough="walkThrough",s.walkThroughSnippet="walkThroughSnippet",s.http="http",s.https="https",s.file="file",s.mailto="mailto",s.untitled="untitled",s.data="data",s.command="command",s.vscodeRemote="vscode-remote",s.vscodeRemoteResource="vscode-remote-resource",s.vscodeManagedRemoteResource="vscode-managed-remote-resource",s.vscodeUserData="vscode-userdata",s.vscodeCustomEditor="vscode-custom-editor",s.vscodeNotebookCell="vscode-notebook-cell",s.vscodeNotebookCellMetadata="vscode-notebook-cell-metadata",s.vscodeNotebookCellOutput="vscode-notebook-cell-output",s.vscodeInteractiveInput="vscode-interactive-input",s.vscodeSettings="vscode-settings",s.vscodeWorkspaceTrust="vscode-workspace-trust",s.vscodeTerminal="vscode-terminal",s.vscodeChatCodeBlock="vscode-chat-code-block",s.vscodeChatCodeCompreBlock="vscode-chat-code-compare-block",s.vscodeChatSesssion="vscode-chat-editor",s.webviewPanel="webview-panel",s.vscodeWebview="vscode-webview",s.extension="extension",s.vscodeFileResource="vscode-file",s.tmp="tmp",s.vsls="vsls",s.vscodeSourceControl="vscode-scm",s.commentsInput="comment",s.codeSetting="code-setting"})(Ge||(Ge={}));function rF(s,e){return Ae.isUri(s)?em(s.scheme,e):YP(s,e+":")}function _3(s,...e){return e.some(t=>rF(s,t))}const Sae="tkn";class Dae{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(e){this._preferredWebSchema=e}get _remoteResourcesPath(){return Yi.join(this._serverRootPath,Ge.vscodeRemoteResource)}rewrite(e){if(this._delegate)try{return this._delegate(e)}catch(a){return Xe(a),e}const t=e.authority;let i=this._hosts[t];i&&i.indexOf(":")!==-1&&i.indexOf("[")===-1&&(i=`[${i}]`);const n=this._ports[t],o=this._connectionTokens[t];let r=`path=${encodeURIComponent(e.path)}`;return typeof o=="string"&&(r+=`&${Sae}=${encodeURIComponent(o)}`),Ae.from({scheme:Jh?this._preferredWebSchema:Ge.vscodeRemoteResource,authority:`${i}:${n}`,path:this._remoteResourcesPath,query:r})}}const Sz=new Dae,Lae="vscode-app";class Pb{uriToBrowserUri(e){return e.scheme===Ge.vscodeRemote?Sz.rewrite(e):e.scheme===Ge.file&&(md||Wse===`${Ge.vscodeFileResource}://${Pb.FALLBACK_AUTHORITY}`)?e.with({scheme:Ge.vscodeFileResource,authority:e.authority||Pb.FALLBACK_AUTHORITY,query:null,fragment:null}):e}}Pb.FALLBACK_AUTHORITY=Lae;const Dz=new Pb;var v3;(function(s){const e=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"}]]);s.CoopAndCoep=Object.freeze(e.get("3"));const t="vscode-coi";function i(o){let r;typeof o=="string"?r=new URL(o).searchParams:o instanceof URL?r=o.searchParams:Ae.isUri(o)&&(r=new URL(o.toString(!0)).searchParams);const a=r==null?void 0:r.get(t);if(a)return e.get(a)}s.getHeadersFromQuery=i;function n(o,r,a){if(!globalThis.crossOriginIsolated)return;const l=r&&a?"3":a?"2":"1";o instanceof URLSearchParams?o.set(t,l):o[t]=l}s.addSearchParam=n})(v3||(v3={}));function XL(s){return YL(s,0)}function YL(s,e){switch(typeof s){case"object":return s===null?cc(349,e):Array.isArray(s)?kae(s,e):Eae(s,e);case"string":return aF(s,e);case"boolean":return xae(s,e);case"number":return cc(s,e);case"undefined":return cc(937,e);default:return cc(617,e)}}function cc(s,e){return(e<<5)-e+s|0}function xae(s,e){return cc(s?433:863,e)}function aF(s,e){e=cc(149417,e);for(let t=0,i=s.length;tYL(i,t),e)}function Eae(s,e){return e=cc(181387,e),Object.keys(s).sort().reduce((t,i)=>(t=aF(i,t),YL(s[i],t)),e)}function VE(s,e,t=32){const i=t-e,n=~((1<>>i)>>>0}function b3(s,e=0,t=s.byteLength,i=0){for(let n=0;n t.toString(16).padStart(2,"0")).join(""):Iae((s>>>0).toString(16),e/4)}class QL{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(e){const t=e.length;if(t===0)return;const i=this._buff;let n=this._buffLen,o=this._leftoverHighSurrogate,r,a;for(o!==0?(r=o,a=-1,o=0):(r=e.charCodeAt(0),a=0);;){let l=r;if(Cn(r))if(a+1 >>6,e[t++]=128|(i&63)>>>0):i<65536?(e[t++]=224|(i&61440)>>>12,e[t++]=128|(i&4032)>>>6,e[t++]=128|(i&63)>>>0):(e[t++]=240|(i&1835008)>>>18,e[t++]=128|(i&258048)>>>12,e[t++]=128|(i&4032)>>>6,e[t++]=128|(i&63)>>>0),t>=64&&(this._step(),t-=64,this._totalLen+=64,e[0]=e[64],e[1]=e[65],e[2]=e[66]),t}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()),P0(this._h0)+P0(this._h1)+P0(this._h2)+P0(this._h3)+P0(this._h4)}_wrapUp(){this._buff[this._buffLen++]=128,b3(this._buff,this._buffLen),this._buffLen>56&&(this._step(),b3(this._buff));const e=8*this._totalLen;this._buffDV.setUint32(56,Math.floor(e/4294967296),!1),this._buffDV.setUint32(60,e%4294967296,!1),this._step()}_step(){const e=QL._bigBlock32,t=this._buffDV;for(let u=0;u<64;u+=4)e.setUint32(u,t.getUint32(u,!1),!1);for(let u=64;u<320;u+=4)e.setUint32(u,VE(e.getUint32(u-12,!1)^e.getUint32(u-32,!1)^e.getUint32(u-56,!1)^e.getUint32(u-64,!1),1),!1);let i=this._h0,n=this._h1,o=this._h2,r=this._h3,a=this._h4,l,d,c;for(let u=0;u<80;u++)u<20?(l=n&o|~n&r,d=1518500249):u<40?(l=n^o^r,d=1859775393):u<60?(l=n&o|n&r|o&r,d=2400959708):(l=n^o^r,d=3395469782),c=VE(i,5)+l+a+d+e.getUint32(u*4,!1)&4294967295,a=r,r=o,o=VE(n,30),n=i,i=c;this._h0=this._h0+i&4294967295,this._h1=this._h1+n&4294967295,this._h2=this._h2+o&4294967295,this._h3=this._h3+r&4294967295,this._h4=this._h4+a&4294967295}}QL._bigBlock32=new DataView(new ArrayBuffer(320));const{getWindow:Te,getWindows:Lz,getWindowsCount:Tae,getWindowId:VS,getWindowById:C3,onDidRegisterWindow:JL,onWillUnregisterWindow:Nae,onDidUnregisterWindow:Aae}=function(){const s=new Map;Sre(Ht,1);const e={window:Ht,disposables:new Y};s.set(Ht.vscodeWindowId,e);const t=new B,i=new B,n=new B;function o(r,a){const l=typeof r=="number"?s.get(r):void 0;return l??(a?e:void 0)}return{onDidRegisterWindow:t.event,onWillUnregisterWindow:n.event,onDidUnregisterWindow:i.event,registerWindow(r){if(s.has(r.vscodeWindowId))return H.None;const a=new Y,l={window:r,disposables:a.add(new Y)};return s.set(r.vscodeWindowId,l),a.add(Ie(()=>{s.delete(r.vscodeWindowId),i.fire(r)})),a.add(K(r,ee.BEFORE_UNLOAD,()=>{n.fire(r)})),t.fire(l),a},getWindows(){return s.values()},getWindowsCount(){return s.size},getWindowId(r){return r.vscodeWindowId},hasWindow(r){return s.has(r)},getWindowById:o,getWindow(r){var a;const l=r;if(!((a=l==null?void 0:l.ownerDocument)===null||a===void 0)&&a.defaultView)return l.ownerDocument.defaultView.window;const d=r;return d!=null&&d.view?d.view.window:Ht},getDocument(r){return Te(r).document}}}();function zn(s){for(;s.firstChild;)s.firstChild.remove()}class Mae{constructor(e,t,i,n){this._node=e,this._type=t,this._handler=i,this._options=n||!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 K(s,e,t,i){return new Mae(s,e,t,i)}function xz(s,e){return function(t){return e(new ra(s,t))}}function Rae(s){return function(e){return s(new Kt(e))}}const Ni=function(e,t,i,n){let o=i;return t==="click"||t==="mousedown"?o=xz(Te(e),i):(t==="keydown"||t==="keypress"||t==="keyup")&&(o=Rae(i)),K(e,t,o,n)},Pae=function(e,t,i){const n=xz(Te(e),t);return Fae(e,n,i)};function Fae(s,e,t){return K(s,_d&&nF.pointerEvents?ee.POINTER_DOWN:ee.MOUSE_DOWN,e,t)}function uv(s,e,t){return Vv(s,e,t)}class zE extends mz{constructor(e,t){super(e,t)}}let zS,Ao;class lF extends oF{constructor(e){super(),this.defaultTarget=e&&Te(e)}cancelAndSet(e,t,i){return super.cancelAndSet(e,t,i??this.defaultTarget)}}class UE{constructor(e,t=0){this._runner=e,this.priority=t,this._canceled=!1}dispose(){this._canceled=!0}execute(){if(!this._canceled)try{this._runner()}catch(e){Xe(e)}}static sort(e,t){return t.priority-e.priority}}(function(){const s=new Map,e=new Map,t=new Map,i=new Map,n=o=>{var r;t.set(o,!1);const a=(r=s.get(o))!==null&&r!==void 0?r:[];for(e.set(o,a),s.set(o,[]),i.set(o,!0);a.length>0;)a.sort(UE.sort),a.shift().execute();i.set(o,!1)};Ao=(o,r,a=0)=>{const l=VS(o),d=new UE(r,a);let c=s.get(l);return c||(c=[],s.set(l,c)),c.push(d),t.get(l)||(t.set(l,!0),o.requestAnimationFrame(()=>n(l))),d},zS=(o,r,a)=>{const l=VS(o);if(i.get(l)){const d=new UE(r,a);let c=e.get(l);return c||(c=[],e.set(l,c)),c.push(d),d}else return Ao(o,r,a)}})();function ex(s){return Te(s).getComputedStyle(s,null)}function Eh(s,e){const t=Te(s),i=t.document;if(s!==i.body)return new Dt(s.clientWidth,s.clientHeight);if(_d&&(t!=null&&t.visualViewport))return new Dt(t.visualViewport.width,t.visualViewport.height);if(t!=null&&t.innerWidth&&t.innerHeight)return new Dt(t.innerWidth,t.innerHeight);if(i.body&&i.body.clientWidth&&i.body.clientHeight)return new Dt(i.body.clientWidth,i.body.clientHeight);if(i.documentElement&&i.documentElement.clientWidth&&i.documentElement.clientHeight)return new Dt(i.documentElement.clientWidth,i.documentElement.clientHeight);throw new Error("Unable to figure out browser width and height")}class Oi{static convertToPixels(e,t){return parseFloat(t)||0}static getDimension(e,t,i){const n=ex(e),o=n?n.getPropertyValue(t):"0";return Oi.convertToPixels(e,o)}static getBorderLeftWidth(e){return Oi.getDimension(e,"border-left-width","borderLeftWidth")}static getBorderRightWidth(e){return Oi.getDimension(e,"border-right-width","borderRightWidth")}static getBorderTopWidth(e){return Oi.getDimension(e,"border-top-width","borderTopWidth")}static getBorderBottomWidth(e){return Oi.getDimension(e,"border-bottom-width","borderBottomWidth")}static getPaddingLeft(e){return Oi.getDimension(e,"padding-left","paddingLeft")}static getPaddingRight(e){return Oi.getDimension(e,"padding-right","paddingRight")}static getPaddingTop(e){return Oi.getDimension(e,"padding-top","paddingTop")}static getPaddingBottom(e){return Oi.getDimension(e,"padding-bottom","paddingBottom")}static getMarginLeft(e){return Oi.getDimension(e,"margin-left","marginLeft")}static getMarginTop(e){return Oi.getDimension(e,"margin-top","marginTop")}static getMarginRight(e){return Oi.getDimension(e,"margin-right","marginRight")}static getMarginBottom(e){return Oi.getDimension(e,"margin-bottom","marginBottom")}}class Dt{constructor(e,t){this.width=e,this.height=t}with(e=this.width,t=this.height){return e!==this.width||t!==this.height?new Dt(e,t):this}static is(e){return typeof e=="object"&&typeof e.height=="number"&&typeof e.width=="number"}static lift(e){return e instanceof Dt?e:new Dt(e.width,e.height)}static equals(e,t){return e===t?!0:!e||!t?!1:e.width===t.width&&e.height===t.height}}Dt.None=new Dt(0,0);function kz(s){let e=s.offsetParent,t=s.offsetTop,i=s.offsetLeft;for(;(s=s.parentNode)!==null&&s!==s.ownerDocument.body&&s!==s.ownerDocument.documentElement;){t-=s.scrollTop;const n=Iz(s)?null:ex(s);n&&(i-=n.direction!=="rtl"?s.scrollLeft:-s.scrollLeft),s===e&&(i+=Oi.getBorderLeftWidth(s),t+=Oi.getBorderTopWidth(s),t+=s.offsetTop,i+=s.offsetLeft,e=s.offsetParent)}return{left:i,top:t}}function Oae(s,e,t){typeof e=="number"&&(s.style.width=`${e}px`),typeof t=="number"&&(s.style.height=`${t}px`)}function qi(s){const e=s.getBoundingClientRect(),t=Te(s);return{left:e.left+t.scrollX,top:e.top+t.scrollY,width:e.width,height:e.height}}function Ez(s){let e=s,t=1;do{const i=ex(e).zoom;i!=null&&i!=="1"&&(t*=i),e=e.parentElement}while(e!==null&&e!==e.ownerDocument.documentElement);return t}function wo(s){const e=Oi.getMarginLeft(s)+Oi.getMarginRight(s);return s.offsetWidth+e}function $E(s){const e=Oi.getBorderLeftWidth(s)+Oi.getBorderRightWidth(s),t=Oi.getPaddingLeft(s)+Oi.getPaddingRight(s);return s.offsetWidth-e-t}function Bae(s){const e=Oi.getBorderTopWidth(s)+Oi.getBorderBottomWidth(s),t=Oi.getPaddingTop(s)+Oi.getPaddingBottom(s);return s.offsetHeight-e-t}function uc(s){const e=Oi.getMarginTop(s)+Oi.getMarginBottom(s);return s.offsetHeight+e}function An(s,e){return!!(e!=null&&e.contains(s))}function Wae(s,e,t){for(;s&&s.nodeType===s.ELEMENT_NODE;){if(s.classList.contains(e))return s;if(t){if(typeof t=="string"){if(s.classList.contains(t))return null}else if(s===t)return null}s=s.parentNode}return null}function jE(s,e,t){return!!Wae(s,e,t)}function Iz(s){return s&&!!s.host&&!!s.mode}function US(s){return!!Sf(s)}function Sf(s){for(var e;s.parentNode;){if(s===((e=s.ownerDocument)===null||e===void 0?void 0:e.body))return null;s=s.parentNode}return Iz(s)?s:null}function Xn(){let s=o0().activeElement;for(;s!=null&&s.shadowRoot;)s=s.shadowRoot.activeElement;return s}function tx(s){return Xn()===s}function Tz(s){return An(Xn(),s)}function o0(){var s;return Tae()<=1?Ht.document:(s=Array.from(Lz()).map(({window:t})=>t.document).find(t=>t.hasFocus()))!==null&&s!==void 0?s:Ht.document}function Hae(){var s,e;return(e=(s=o0().defaultView)===null||s===void 0?void 0:s.window)!==null&&e!==void 0?e:Ht}const dF=new Map;function Nz(){return new Vae}class Vae{constructor(){this._currentCssStyle="",this._styleSheet=void 0}setStyle(e){e!==this._currentCssStyle&&(this._currentCssStyle=e,this._styleSheet?this._styleSheet.innerText=e:this._styleSheet=ar(Ht.document.head,t=>t.innerText=e))}dispose(){this._styleSheet&&(this._styleSheet.remove(),this._styleSheet=void 0)}}function ar(s=Ht.document.head,e,t){const i=document.createElement("style");if(i.type="text/css",i.media="screen",e==null||e(i),s.appendChild(i),t&&t.add(Ie(()=>s.removeChild(i))),s===Ht.document.head){const n=new Set;dF.set(i,n);for(const{window:o,disposables:r}of Lz()){if(o===Ht)continue;const a=r.add(zae(i,n,o));t==null||t.add(a)}}return i}function zae(s,e,t){var i,n;const o=new Y,r=s.cloneNode(!0);t.document.head.appendChild(r),o.add(Ie(()=>t.document.head.removeChild(r)));for(const a of Mz(s))(i=r.sheet)===null||i===void 0||i.insertRule(a.cssText,(n=r.sheet)===null||n===void 0?void 0:n.cssRules.length);return o.add(Uae.observe(s,o,{childList:!0})(()=>{r.textContent=s.textContent})),e.add(r),o.add(Ie(()=>e.delete(r))),o}const Uae=new class{constructor(){this.mutationObservers=new Map}observe(s,e,t){let i=this.mutationObservers.get(s);i||(i=new Map,this.mutationObservers.set(s,i));const n=XL(t);let o=i.get(n);if(o)o.users+=1;else{const r=new B,a=new MutationObserver(d=>r.fire(d));a.observe(s,t);const l=o={users:1,observer:a,onDidMutate:r.event};e.add(Ie(()=>{l.users-=1,l.users===0&&(r.dispose(),a.disconnect(),i==null||i.delete(n),(i==null?void 0:i.size)===0&&this.mutationObservers.delete(s))})),i.set(n,o)}return o.onDidMutate}};let KE=null;function Az(){return KE||(KE=ar()),KE}function Mz(s){var e,t;return!((e=s==null?void 0:s.sheet)===null||e===void 0)&&e.rules?s.sheet.rules:!((t=s==null?void 0:s.sheet)===null||t===void 0)&&t.cssRules?s.sheet.cssRules:[]}function $S(s,e,t=Az()){var i,n;if(!(!t||!e)){(i=t.sheet)===null||i===void 0||i.insertRule(`${s} {${e}}`,0);for(const o of(n=dF.get(t))!==null&&n!==void 0?n:[])$S(s,e,o)}}function oA(s,e=Az()){var t,i;if(!e)return;const n=Mz(e),o=[];for(let r=0;r =0;r--)(t=e.sheet)===null||t===void 0||t.deleteRule(o[r]);for(const r of(i=dF.get(e))!==null&&i!==void 0?i:[])oA(s,r)}function $ae(s){return typeof s.selectorText=="string"}function cF(s){return s instanceof MouseEvent||s instanceof Te(s).MouseEvent}function Iu(s){return s instanceof KeyboardEvent||s instanceof Te(s).KeyboardEvent}const ee={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",KEY_DOWN:"keydown",KEY_UP:"keyup",BEFORE_UNLOAD:"beforeunload",CHANGE:"change",FOCUS:"focus",FOCUS_IN:"focusin",FOCUS_OUT:"focusout",BLUR:"blur",INPUT:"input",DRAG_START:"dragstart",DRAG:"drag",DRAG_ENTER:"dragenter",DRAG_LEAVE:"dragleave",DRAG_OVER:"dragover",DROP:"drop",DRAG_END:"dragend"};function jae(s){const e=s;return!!(e&&typeof e.preventDefault=="function"&&typeof e.stopPropagation=="function")}const nt={stop:(s,e)=>(s.preventDefault(),e&&s.stopPropagation(),s)};function Kae(s){const e=[];for(let t=0;s&&s.nodeType===s.ELEMENT_NODE;t++)e[t]=s.scrollTop,s=s.parentNode;return e}function qae(s,e){for(let t=0;s&&s.nodeType===s.ELEMENT_NODE;t++)s.scrollTop!==e[t]&&(s.scrollTop=e[t]),s=s.parentNode}class jS extends H{static hasFocusWithin(e){if(e instanceof HTMLElement){const t=Sf(e),i=t?t.activeElement:e.ownerDocument.activeElement;return An(i,e)}else{const t=e;return An(t.document.activeElement,t.document)}}constructor(e){super(),this._onDidFocus=this._register(new B),this.onDidFocus=this._onDidFocus.event,this._onDidBlur=this._register(new B),this.onDidBlur=this._onDidBlur.event;let t=jS.hasFocusWithin(e),i=!1;const n=()=>{i=!1,t||(t=!0,this._onDidFocus.fire())},o=()=>{t&&(i=!0,(e instanceof HTMLElement?Te(e):e).setTimeout(()=>{i&&(i=!1,t=!1,this._onDidBlur.fire())},0))};this._refreshStateHandler=()=>{jS.hasFocusWithin(e)!==t&&(t?o():n())},this._register(K(e,ee.FOCUS,n,!0)),this._register(K(e,ee.BLUR,o,!0)),e instanceof HTMLElement&&(this._register(K(e,ee.FOCUS_IN,()=>this._refreshStateHandler())),this._register(K(e,ee.FOCUS_OUT,()=>this._refreshStateHandler())))}}function ba(s){return new jS(s)}function Gae(s,e){return s.after(e),e}function Q(s,...e){if(s.append(...e),e.length===1&&typeof e[0]!="string")return e[0]}function uF(s,e){return s.insertBefore(e,s.firstChild),e}function Yn(s,...e){s.innerText="",Q(s,...e)}const Zae=/([\w\-]+)?(#([\w\-]+))?((\.([\w\-]+))*)/;var Fb;(function(s){s.HTML="http://www.w3.org/1999/xhtml",s.SVG="http://www.w3.org/2000/svg"})(Fb||(Fb={}));function Rz(s,e,t,...i){const n=Zae.exec(e);if(!n)throw new Error("Bad use of emmet");const o=n[1]||"div";let r;return s!==Fb.HTML?r=document.createElementNS(s,o):r=document.createElement(o),n[3]&&(r.id=n[3]),n[4]&&(r.className=n[4].replace(/\./g," ").trim()),t&&Object.entries(t).forEach(([a,l])=>{typeof l>"u"||(/^on\w+$/.test(a)?r[a]=l:a==="selected"?l&&r.setAttribute(a,"true"):r.setAttribute(a,l))}),r.append(...i),r}function he(s,e,...t){return Rz(Fb.HTML,s,e,...t)}he.SVG=function(s,e,...t){return Rz(Fb.SVG,s,e,...t)};function Xae(s,...e){s?Do(...e):Es(...e)}function Do(...s){for(const e of s)e.style.display="",e.removeAttribute("aria-hidden")}function Es(...s){for(const e of s)e.style.display="none",e.setAttribute("aria-hidden","true")}function w3(s,e){const t=s.devicePixelRatio*e;return Math.max(1,Math.floor(t))/s.devicePixelRatio}function Pz(s){Ht.open(s,"_blank","noopener")}function Yae(s,e){const t=()=>{e(),i=Ao(s,t)};let i=Ao(s,t);return Ie(()=>i.dispose())}Sz.setPreferredWebSchema(/^https:/.test(Ht.location.href)?"https":"http");function Ih(s){return s?`url('${Dz.uriToBrowserUri(s).toString(!0).replace(/'/g,"%27")}')`:"url('')"}function qE(s){return`'${s.replace(/'/g,"%27")}'`}function Ec(s,e){if(s!==void 0){const t=s.match(/^\s*var\((.+)\)$/);if(t){const i=t[1].split(",",2);return i.length===2&&(e=Ec(i[1].trim(),e)),`var(${i[0]}, ${e})`}return s}return e}function Qae(s,e=!1){const t=document.createElement("a");return sA("afterSanitizeAttributes",i=>{for(const n of["href","src"])if(i.hasAttribute(n)){const o=i.getAttribute(n);if(n==="href"&&o.startsWith("#"))continue;if(t.href=o,!s.includes(t.protocol.replace(/:$/,""))){if(e&&n==="src"&&t.href.startsWith("data:"))continue;i.removeAttribute(n)}}}),Ie(()=>{yz("afterSanitizeAttributes")})}const Jae=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"]);class hc extends B{constructor(){super(),this._subscriptions=new Y,this._keyStatus={altKey:!1,shiftKey:!1,ctrlKey:!1,metaKey:!1},this._subscriptions.add(le.runAndSubscribe(JL,({window:e,disposables:t})=>this.registerListeners(e,t),{window:Ht,disposables:this._subscriptions}))}registerListeners(e,t){t.add(K(e,"keydown",i=>{if(i.defaultPrevented)return;const n=new Kt(i);if(!(n.keyCode===6&&i.repeat)){if(i.altKey&&!this._keyStatus.altKey)this._keyStatus.lastKeyPressed="alt";else if(i.ctrlKey&&!this._keyStatus.ctrlKey)this._keyStatus.lastKeyPressed="ctrl";else if(i.metaKey&&!this._keyStatus.metaKey)this._keyStatus.lastKeyPressed="meta";else if(i.shiftKey&&!this._keyStatus.shiftKey)this._keyStatus.lastKeyPressed="shift";else if(n.keyCode!==6)this._keyStatus.lastKeyPressed=void 0;else return;this._keyStatus.altKey=i.altKey,this._keyStatus.ctrlKey=i.ctrlKey,this._keyStatus.metaKey=i.metaKey,this._keyStatus.shiftKey=i.shiftKey,this._keyStatus.lastKeyPressed&&(this._keyStatus.event=i,this.fire(this._keyStatus))}},!0)),t.add(K(e,"keyup",i=>{i.defaultPrevented||(!i.altKey&&this._keyStatus.altKey?this._keyStatus.lastKeyReleased="alt":!i.ctrlKey&&this._keyStatus.ctrlKey?this._keyStatus.lastKeyReleased="ctrl":!i.metaKey&&this._keyStatus.metaKey?this._keyStatus.lastKeyReleased="meta":!i.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=i.altKey,this._keyStatus.ctrlKey=i.ctrlKey,this._keyStatus.metaKey=i.metaKey,this._keyStatus.shiftKey=i.shiftKey,this._keyStatus.lastKeyReleased&&(this._keyStatus.event=i,this.fire(this._keyStatus)))},!0)),t.add(K(e.document.body,"mousedown",()=>{this._keyStatus.lastKeyPressed=void 0},!0)),t.add(K(e.document.body,"mouseup",()=>{this._keyStatus.lastKeyPressed=void 0},!0)),t.add(K(e.document.body,"mousemove",i=>{i.buttons&&(this._keyStatus.lastKeyPressed=void 0)},!0)),t.add(K(e,"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 hc.instance||(hc.instance=new hc),hc.instance}dispose(){super.dispose(),this._subscriptions.dispose()}}class ele extends H{constructor(e,t){super(),this.element=e,this.callbacks=t,this.counter=0,this.dragStartTime=0,this.registerListeners()}registerListeners(){this.callbacks.onDragStart&&this._register(K(this.element,ee.DRAG_START,e=>{var t,i;(i=(t=this.callbacks).onDragStart)===null||i===void 0||i.call(t,e)})),this.callbacks.onDrag&&this._register(K(this.element,ee.DRAG,e=>{var t,i;(i=(t=this.callbacks).onDrag)===null||i===void 0||i.call(t,e)})),this._register(K(this.element,ee.DRAG_ENTER,e=>{var t,i;this.counter++,this.dragStartTime=e.timeStamp,(i=(t=this.callbacks).onDragEnter)===null||i===void 0||i.call(t,e)})),this._register(K(this.element,ee.DRAG_OVER,e=>{var t,i;e.preventDefault(),(i=(t=this.callbacks).onDragOver)===null||i===void 0||i.call(t,e,e.timeStamp-this.dragStartTime)})),this._register(K(this.element,ee.DRAG_LEAVE,e=>{var t,i;this.counter--,this.counter===0&&(this.dragStartTime=0,(i=(t=this.callbacks).onDragLeave)===null||i===void 0||i.call(t,e))})),this._register(K(this.element,ee.DRAG_END,e=>{var t,i;this.counter=0,this.dragStartTime=0,(i=(t=this.callbacks).onDragEnd)===null||i===void 0||i.call(t,e)})),this._register(K(this.element,ee.DROP,e=>{var t,i;this.counter=0,this.dragStartTime=0,(i=(t=this.callbacks).onDrop)===null||i===void 0||i.call(t,e)}))}}const tle=/(? [\w\-]+)?(?:#(? [\w\-]+))?(? (?:\.(?:[\w\-]+))*)(?:@(? (?:[\w\_])+))?/;function Nt(s,...e){let t,i;Array.isArray(e[0])?(t={},i=e[0]):(t=e[0]||{},i=e[1]);const n=tle.exec(s);if(!n||!n.groups)throw new Error("Bad use of h");const o=n.groups.tag||"div",r=document.createElement(o);n.groups.id&&(r.id=n.groups.id);const a=[];if(n.groups.class)for(const d of n.groups.class.split("."))d!==""&&a.push(d);if(t.className!==void 0)for(const d of t.className.split("."))d!==""&&a.push(d);a.length>0&&(r.className=a.join(" "));const l={};if(n.groups.name&&(l[n.groups.name]=r),i)for(const d of i)d instanceof HTMLElement?r.appendChild(d):typeof d=="string"?r.append(d):"root"in d&&(Object.assign(l,d),r.appendChild(d.root));for(const[d,c]of Object.entries(t))if(d!=="className")if(d==="style")for(const[u,h]of Object.entries(c))r.style.setProperty(y3(u),typeof h=="number"?h+"px":""+h);else d==="tabIndex"?r.tabIndex=c:r.setAttribute(y3(d),c.toString());return l.root=r,l}function y3(s){return s.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase()}class ile extends H{constructor(e){super(),this._onDidChange=this._register(new B),this.onDidChange=this._onDidChange.event,this._listener=()=>this._handleChange(e,!0),this._mediaQueryList=null,this._handleChange(e,!1)}_handleChange(e,t){var i;(i=this._mediaQueryList)===null||i===void 0||i.removeEventListener("change",this._listener),this._mediaQueryList=e.matchMedia(`(resolution: ${e.devicePixelRatio}dppx)`),this._mediaQueryList.addEventListener("change",this._listener),t&&this._onDidChange.fire()}}class nle extends H{get value(){return this._value}constructor(e){super(),this._onDidChange=this._register(new B),this.onDidChange=this._onDidChange.event,this._value=this._getPixelRatio(e);const t=this._register(new ile(e));this._register(t.onDidChange(()=>{this._value=this._getPixelRatio(e),this._onDidChange.fire(this._value)}))}_getPixelRatio(e){const t=document.createElement("canvas").getContext("2d"),i=e.devicePixelRatio||1,n=t.webkitBackingStorePixelRatio||t.mozBackingStorePixelRatio||t.msBackingStorePixelRatio||t.oBackingStorePixelRatio||t.backingStorePixelRatio||1;return i/n}}class sle{constructor(){this.mapWindowIdToPixelRatioMonitor=new Map}_getOrCreatePixelRatioMonitor(e){const t=VS(e);let i=this.mapWindowIdToPixelRatioMonitor.get(t);return i||(i=new nle(e),this.mapWindowIdToPixelRatioMonitor.set(t,i),le.once(Aae)(({vscodeWindowId:n})=>{n===t&&(i==null||i.dispose(),this.mapWindowIdToPixelRatioMonitor.delete(t))})),i}getInstance(e){return this._getOrCreatePixelRatioMonitor(e)}}const Ob=new sle;class Fz{constructor(e){this.domNode=e,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(e){const t=ka(e);this._maxWidth!==t&&(this._maxWidth=t,this.domNode.style.maxWidth=this._maxWidth)}setWidth(e){const t=ka(e);this._width!==t&&(this._width=t,this.domNode.style.width=this._width)}setHeight(e){const t=ka(e);this._height!==t&&(this._height=t,this.domNode.style.height=this._height)}setTop(e){const t=ka(e);this._top!==t&&(this._top=t,this.domNode.style.top=this._top)}setLeft(e){const t=ka(e);this._left!==t&&(this._left=t,this.domNode.style.left=this._left)}setBottom(e){const t=ka(e);this._bottom!==t&&(this._bottom=t,this.domNode.style.bottom=this._bottom)}setRight(e){const t=ka(e);this._right!==t&&(this._right=t,this.domNode.style.right=this._right)}setPaddingLeft(e){const t=ka(e);this._paddingLeft!==t&&(this._paddingLeft=t,this.domNode.style.paddingLeft=this._paddingLeft)}setFontFamily(e){this._fontFamily!==e&&(this._fontFamily=e,this.domNode.style.fontFamily=this._fontFamily)}setFontWeight(e){this._fontWeight!==e&&(this._fontWeight=e,this.domNode.style.fontWeight=this._fontWeight)}setFontSize(e){const t=ka(e);this._fontSize!==t&&(this._fontSize=t,this.domNode.style.fontSize=this._fontSize)}setFontStyle(e){this._fontStyle!==e&&(this._fontStyle=e,this.domNode.style.fontStyle=this._fontStyle)}setFontFeatureSettings(e){this._fontFeatureSettings!==e&&(this._fontFeatureSettings=e,this.domNode.style.fontFeatureSettings=this._fontFeatureSettings)}setFontVariationSettings(e){this._fontVariationSettings!==e&&(this._fontVariationSettings=e,this.domNode.style.fontVariationSettings=this._fontVariationSettings)}setTextDecoration(e){this._textDecoration!==e&&(this._textDecoration=e,this.domNode.style.textDecoration=this._textDecoration)}setLineHeight(e){const t=ka(e);this._lineHeight!==t&&(this._lineHeight=t,this.domNode.style.lineHeight=this._lineHeight)}setLetterSpacing(e){const t=ka(e);this._letterSpacing!==t&&(this._letterSpacing=t,this.domNode.style.letterSpacing=this._letterSpacing)}setClassName(e){this._className!==e&&(this._className=e,this.domNode.className=this._className)}toggleClassName(e,t){this.domNode.classList.toggle(e,t),this._className=this.domNode.className}setDisplay(e){this._display!==e&&(this._display=e,this.domNode.style.display=this._display)}setPosition(e){this._position!==e&&(this._position=e,this.domNode.style.position=this._position)}setVisibility(e){this._visibility!==e&&(this._visibility=e,this.domNode.style.visibility=this._visibility)}setColor(e){this._color!==e&&(this._color=e,this.domNode.style.color=this._color)}setBackgroundColor(e){this._backgroundColor!==e&&(this._backgroundColor=e,this.domNode.style.backgroundColor=this._backgroundColor)}setLayerHinting(e){this._layerHint!==e&&(this._layerHint=e,this.domNode.style.transform=this._layerHint?"translate3d(0px, 0px, 0px)":"")}setBoxShadow(e){this._boxShadow!==e&&(this._boxShadow=e,this.domNode.style.boxShadow=e)}setContain(e){this._contain!==e&&(this._contain=e,this.domNode.style.contain=this._contain)}setAttribute(e,t){this.domNode.setAttribute(e,t)}removeAttribute(e){this.domNode.removeAttribute(e)}appendChild(e){this.domNode.appendChild(e.domNode)}removeChild(e){this.domNode.removeChild(e.domNode)}}function ka(s){return typeof s=="number"?`${s}px`:s}function It(s){return new Fz(s)}function Un(s,e){s instanceof Fz?(s.setFontFamily(e.getMassagedFontFamily()),s.setFontWeight(e.fontWeight),s.setFontSize(e.fontSize),s.setFontFeatureSettings(e.fontFeatureSettings),s.setFontVariationSettings(e.fontVariationSettings),s.setLineHeight(e.lineHeight),s.setLetterSpacing(e.letterSpacing)):(s.style.fontFamily=e.getMassagedFontFamily(),s.style.fontWeight=e.fontWeight,s.style.fontSize=e.fontSize+"px",s.style.fontFeatureSettings=e.fontFeatureSettings,s.style.fontVariationSettings=e.fontVariationSettings,s.style.lineHeight=e.lineHeight+"px",s.style.letterSpacing=e.letterSpacing+"px")}class ole{constructor(e,t){this.chr=e,this.type=t,this.width=0}fulfill(e){this.width=e}}class hF{constructor(e,t){this._bareFontInfo=e,this._requests=t,this._container=null,this._testElements=null}read(e){this._createDomElements(),e.document.body.appendChild(this._container),this._readFromDomElements(),e.document.body.removeChild(this._container),this._container=null,this._testElements=null}_createDomElements(){const e=document.createElement("div");e.style.position="absolute",e.style.top="-50000px",e.style.width="50000px";const t=document.createElement("div");Un(t,this._bareFontInfo),e.appendChild(t);const i=document.createElement("div");Un(i,this._bareFontInfo),i.style.fontWeight="bold",e.appendChild(i);const n=document.createElement("div");Un(n,this._bareFontInfo),n.style.fontStyle="italic",e.appendChild(n);const o=[];for(const r of this._requests){let a;r.type===0&&(a=t),r.type===2&&(a=i),r.type===1&&(a=n),a.appendChild(document.createElement("br"));const l=document.createElement("span");hF._render(l,r),a.appendChild(l),o.push(l)}this._container=e,this._testElements=o}static _render(e,t){if(t.chr===" "){let i=" ";for(let n=0;n<8;n++)i+=i;e.innerText=i}else{let i=t.chr;for(let n=0;n<8;n++)i+=i;e.textContent=i}}_readFromDomElements(){for(let e=0,t=this._requests.length;e {this._evictUntrustedReadingsTimeout=-1,this._evictUntrustedReadings(e)},5e3))}_evictUntrustedReadings(e){const t=this._ensureCache(e),i=t.getValues();let n=!1;for(const o of i)o.isTrusted||(n=!0,t.remove(o));n&&this._onDidChange.fire()}readFontInfo(e,t){const i=this._ensureCache(e);if(!i.has(t)){let n=this._actualReadFontInfo(e,t);(n.typicalHalfwidthCharacterWidth<=2||n.typicalFullwidthCharacterWidth<=2||n.spaceWidth<=2||n.maxDigitWidth<=2)&&(n=new rA({pixelRatio:Ob.getInstance(e).value,fontFamily:n.fontFamily,fontWeight:n.fontWeight,fontSize:n.fontSize,fontFeatureSettings:n.fontFeatureSettings,fontVariationSettings:n.fontVariationSettings,lineHeight:n.lineHeight,letterSpacing:n.letterSpacing,isMonospace:n.isMonospace,typicalHalfwidthCharacterWidth:Math.max(n.typicalHalfwidthCharacterWidth,5),typicalFullwidthCharacterWidth:Math.max(n.typicalFullwidthCharacterWidth,5),canUseHalfwidthRightwardsArrow:n.canUseHalfwidthRightwardsArrow,spaceWidth:Math.max(n.spaceWidth,5),middotWidth:Math.max(n.middotWidth,5),wsmiddotWidth:Math.max(n.wsmiddotWidth,5),maxDigitWidth:Math.max(n.maxDigitWidth,5)},!1)),this._writeToCache(e,t,n)}return i.get(t)}_createRequest(e,t,i,n){const o=new ole(e,t);return i.push(o),n==null||n.push(o),o}_actualReadFontInfo(e,t){const i=[],n=[],o=this._createRequest("n",0,i,n),r=this._createRequest("m",0,i,null),a=this._createRequest(" ",0,i,n),l=this._createRequest("0",0,i,n),d=this._createRequest("1",0,i,n),c=this._createRequest("2",0,i,n),u=this._createRequest("3",0,i,n),h=this._createRequest("4",0,i,n),g=this._createRequest("5",0,i,n),f=this._createRequest("6",0,i,n),m=this._createRequest("7",0,i,n),_=this._createRequest("8",0,i,n),v=this._createRequest("9",0,i,n),b=this._createRequest("→",0,i,n),C=this._createRequest("→",0,i,null),w=this._createRequest("·",0,i,n),y=this._createRequest("⸱",0,i,null),D="|/-_ilm%";for(let R=0,P=D.length;R .001){k=!1;break}}let O=!0;return k&&C.width!==I&&(O=!1),C.width>b.width&&(O=!1),new rA({pixelRatio:Ob.getInstance(e).value,fontFamily:t.fontFamily,fontWeight:t.fontWeight,fontSize:t.fontSize,fontFeatureSettings:t.fontFeatureSettings,fontVariationSettings:t.fontVariationSettings,lineHeight:t.lineHeight,letterSpacing:t.letterSpacing,isMonospace:k,typicalHalfwidthCharacterWidth:o.width,typicalFullwidthCharacterWidth:r.width,canUseHalfwidthRightwardsArrow:O,spaceWidth:a.width,middotWidth:w.width,wsmiddotWidth:y.width,maxDigitWidth:L},!0)}}class cle{constructor(){this._keys=Object.create(null),this._values=Object.create(null)}has(e){const t=e.getId();return!!this._values[t]}get(e){const t=e.getId();return this._values[t]}put(e,t){const i=e.getId();this._keys[i]=e,this._values[i]=t}remove(e){const t=e.getId();delete this._keys[t],delete this._values[t]}getValues(){return Object.keys(this._keys).map(e=>this._values[e])}}const aA=new dle;var qa;(function(s){s.serviceIds=new Map,s.DI_TARGET="$di$target",s.DI_DEPENDENCIES="$di$dependencies";function e(t){return t[s.DI_DEPENDENCIES]||[]}s.getServiceDependencies=e})(qa||(qa={}));const Ne=ut("instantiationService");function ule(s,e,t){e[qa.DI_TARGET]===e?e[qa.DI_DEPENDENCIES].push({id:s,index:t}):(e[qa.DI_DEPENDENCIES]=[{id:s,index:t}],e[qa.DI_TARGET]=e)}function ut(s){if(qa.serviceIds.has(s))return qa.serviceIds.get(s);const e=function(t,i,n){if(arguments.length!==3)throw new Error("@IServiceName-decorator can only be used to decorate a parameter");ule(e,t,n)};return e.toString=()=>s,qa.serviceIds.set(s,e),e}const xt=ut("codeEditorService"),_i=ut("modelService"),mo=ut("textModelService");class Eo extends H{constructor(e,t="",i="",n=!0,o){super(),this._onDidChange=this._register(new B),this.onDidChange=this._onDidChange.event,this._enabled=!0,this._id=e,this._label=t,this._cssClass=i,this._enabled=n,this._actionCallback=o}get id(){return this._id}get label(){return this._label}set label(e){this._setLabel(e)}_setLabel(e){this._label!==e&&(this._label=e,this._onDidChange.fire({label:e}))}get tooltip(){return this._tooltip||""}set tooltip(e){this._setTooltip(e)}_setTooltip(e){this._tooltip!==e&&(this._tooltip=e,this._onDidChange.fire({tooltip:e}))}get class(){return this._cssClass}set class(e){this._setClass(e)}_setClass(e){this._cssClass!==e&&(this._cssClass=e,this._onDidChange.fire({class:e}))}get enabled(){return this._enabled}set enabled(e){this._setEnabled(e)}_setEnabled(e){this._enabled!==e&&(this._enabled=e,this._onDidChange.fire({enabled:e}))}get checked(){return this._checked}set checked(e){this._setChecked(e)}_setChecked(e){this._checked!==e&&(this._checked=e,this._onDidChange.fire({checked:e}))}async run(e,t){this._actionCallback&&await this._actionCallback(e)}}class Df extends H{constructor(){super(...arguments),this._onWillRun=this._register(new B),this.onWillRun=this._onWillRun.event,this._onDidRun=this._register(new B),this.onDidRun=this._onDidRun.event}async run(e,t){if(!e.enabled)return;this._onWillRun.fire({action:e});let i;try{await this.runAction(e,t)}catch(n){i=n}this._onDidRun.fire({action:e,error:i})}async runAction(e,t){await e.run(t)}}class rn{constructor(){this.id=rn.ID,this.label="",this.tooltip="",this.class="separator",this.enabled=!1,this.checked=!1}static join(...e){let t=[];for(const i of e)i.length&&(t.length?t=[...t,new rn,...i]:t=i);return t}async run(){}}rn.ID="vs.actions.separator";class c_{get actions(){return this._actions}constructor(e,t,i,n){this.tooltip="",this.enabled=!0,this.checked=void 0,this.id=e,this.label=t,this.class=n,this._actions=i}async run(){}}class ix extends Eo{constructor(){super(ix.ID,p("submenu.empty","(empty)"),void 0,!1)}}ix.ID="vs.actions.empty";function af(s){var e;return{id:s.id,label:s.label,class:s.class,enabled:(e=s.enabled)!==null&&e!==void 0?e:!0,checked:s.checked,run:async(...t)=>s.run(...t),tooltip:s.label}}var lA;(function(s){function e(t){return t&&typeof t=="object"&&typeof t.id=="string"}s.isThemeColor=e})(lA||(lA={}));var Pe;(function(s){s.iconNameSegment="[A-Za-z0-9]+",s.iconNameExpression="[A-Za-z0-9-]+",s.iconModifierExpression="~[A-Za-z]+",s.iconNameCharacter="[A-Za-z0-9~-]";const e=new RegExp(`^(${s.iconNameExpression})(${s.iconModifierExpression})?$`);function t(h){const g=e.exec(h.id);if(!g)return t(oe.error);const[,f,m]=g,_=["codicon","codicon-"+f];return m&&_.push("codicon-modifier-"+m.substring(1)),_}s.asClassNameArray=t;function i(h){return t(h).join(" ")}s.asClassName=i;function n(h){return"."+t(h).join(".")}s.asCSSSelector=n;function o(h){return h&&typeof h=="object"&&typeof h.id=="string"&&(typeof h.color>"u"||lA.isThemeColor(h.color))}s.isThemeIcon=o;const r=new RegExp(`^\\$\\((${s.iconNameExpression}(?:${s.iconModifierExpression})?)\\)$`);function a(h){const g=r.exec(h);if(!g)return;const[,f]=g;return{id:f}}s.fromString=a;function l(h){return{id:h}}s.fromId=l;function d(h,g){let f=h.id;const m=f.lastIndexOf("~");return m!==-1&&(f=f.substring(0,m)),g&&(f=`${f}~${g}`),{id:f}}s.modify=d;function c(h){const g=h.id.lastIndexOf("~");if(g!==-1)return h.id.substring(g+1)}s.getModifier=c;function u(h,g){var f,m;return h.id===g.id&&((f=h.color)===null||f===void 0?void 0:f.id)===((m=g.color)===null||m===void 0?void 0:m.id)}s.isEqual=u})(Pe||(Pe={}));const gi=ut("commandService"),pt=new class{constructor(){this._commands=new Map,this._onDidRegisterCommand=new B,this.onDidRegisterCommand=this._onDidRegisterCommand.event}registerCommand(s,e){if(!s)throw new Error("invalid command");if(typeof s=="string"){if(!e)throw new Error("invalid command");return this.registerCommand({id:s,handler:e})}if(s.metadata&&Array.isArray(s.metadata.args)){const r=[];for(const l of s.metadata.args)r.push(l.constraint);const a=s.handler;s.handler=function(l,...d){return Ise(d,r),a(l,...d)}}const{id:t}=s;let i=this._commands.get(t);i||(i=new Rs,this._commands.set(t,i));const n=i.unshift(s),o=Ie(()=>{n();const r=this._commands.get(t);r!=null&&r.isEmpty()&&this._commands.delete(t)});return this._onDidRegisterCommand.fire(t),o}registerCommandAlias(s,e){return pt.registerCommand(s,(t,...i)=>t.get(gi).executeCommand(e,...i))}getCommand(s){const e=this._commands.get(s);if(!(!e||e.isEmpty()))return ft.first(e)}getCommands(){const s=new Map;for(const e of this._commands.keys()){const t=this.getCommand(e);t&&s.set(e,t)}return s}};pt.registerCommand("noop",()=>{});function ZE(...s){switch(s.length){case 1:return p("contextkey.scanner.hint.didYouMean1","Did you mean {0}?",s[0]);case 2:return p("contextkey.scanner.hint.didYouMean2","Did you mean {0} or {1}?",s[0],s[1]);case 3:return p("contextkey.scanner.hint.didYouMean3","Did you mean {0}, {1} or {2}?",s[0],s[1],s[2]);default:return}}const hle=p("contextkey.scanner.hint.didYouForgetToOpenOrCloseQuote","Did you forget to open or close the quote?"),gle=p("contextkey.scanner.hint.didYouForgetToEscapeSlash","Did you forget to escape the '/' (slash) character? Put two backslashes before it to escape, e.g., '\\\\/'.");let Rg=class dA{constructor(){this._input="",this._start=0,this._current=0,this._tokens=[],this._errors=[],this.stringRe=/[a-zA-Z0-9_<>\-\./\\:\*\?\+\[\]\^,#@;"%\$\p{L}-]+/uy}static getLexeme(e){switch(e.type){case 0:return"(";case 1:return")";case 2:return"!";case 3:return e.isTripleEq?"===":"==";case 4:return e.isTripleEq?"!==":"!=";case 5:return"<";case 6:return"<=";case 7:return">=";case 8:return">=";case 9:return"=~";case 10:return e.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 e.lexeme;case 18:return e.lexeme;case 19:return e.lexeme;case 20:return"EOF";default:throw UP(`unhandled token type: ${JSON.stringify(e)}; have you forgotten to add a case?`)}}reset(e){return this._input=e,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 t=this._match(61);this._tokens.push({type:4,offset:this._start,isTripleEq:t})}else this._addToken(2);break;case 39:this._quotedString();break;case 47:this._regex();break;case 61:if(this._match(61)){const t=this._match(61);this._tokens.push({type:3,offset:this._start,isTripleEq:t})}else this._match(126)?this._addToken(9):this._error(ZE("==","=~"));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(ZE("&&"));break;case 124:this._match(124)?this._addToken(16):this._error(ZE("||"));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(e){return this._isAtEnd()||this._input.charCodeAt(this._current)!==e?!1:(this._current++,!0)}_advance(){return this._input.charCodeAt(this._current++)}_peek(){return this._isAtEnd()?0:this._input.charCodeAt(this._current)}_addToken(e){this._tokens.push({type:e,offset:this._start})}_error(e){const t=this._start,i=this._input.substring(this._start,this._current),n={type:19,offset:this._start,lexeme:i};this._errors.push({offset:t,lexeme:i,additionalInfo:e}),this._tokens.push(n)}_string(){this.stringRe.lastIndex=this._start;const e=this.stringRe.exec(this._input);if(e){this._current=this._start+e[0].length;const t=this._input.substring(this._start,this._current),i=dA._keywords.get(t);i?this._addToken(i):this._tokens.push({type:17,lexeme:t,offset:this._start})}}_quotedString(){for(;this._peek()!==39&&!this._isAtEnd();)this._advance();if(this._isAtEnd()){this._error(hle);return}this._advance(),this._tokens.push({type:18,lexeme:this._input.substring(this._start+1,this._current-1),offset:this._start+1})}_regex(){let e=this._current,t=!1,i=!1;for(;;){if(e>=this._input.length){this._current=e,this._error(gle);return}const o=this._input.charCodeAt(e);if(t)t=!1;else if(o===47&&!i){e++;break}else o===91?i=!0:o===92?t=!0:o===93&&(i=!1);e++}for(;e
=this._input.length}};Rg._regexFlags=new Set(["i","g","s","m","y","u"].map(s=>s.charCodeAt(0)));Rg._keywords=new Map([["not",14],["in",13],["false",12],["true",11]]);const ls=new Map;ls.set("false",!1);ls.set("true",!0);ls.set("isMac",lt);ls.set("isLinux",$s);ls.set("isWindows",as);ls.set("isWeb",Jh);ls.set("isMacNative",lt&&!Jh);ls.set("isEdge",$se);ls.set("isFirefox",zse);ls.set("isChrome",OV);ls.set("isSafari",Use);const fle=Object.prototype.hasOwnProperty,ple={regexParsingWithErrorRecovery:!0},mle=p("contextkey.parser.error.emptyString","Empty context key expression"),_le=p("contextkey.parser.error.emptyString.hint","Did you forget to write an expression? You can also put 'false' or 'true' to always evaluate to false or true, respectively."),vle=p("contextkey.parser.error.noInAfterNot","'in' after 'not'."),S3=p("contextkey.parser.error.closingParenthesis","closing parenthesis ')'"),ble=p("contextkey.parser.error.unexpectedToken","Unexpected token"),Cle=p("contextkey.parser.error.unexpectedToken.hint","Did you forget to put && or || before the token?"),wle=p("contextkey.parser.error.unexpectedEOF","Unexpected end of expression"),yle=p("contextkey.parser.error.unexpectedEOF.hint","Did you forget to put a context key?");let Oz=class hv{constructor(e=ple){this._config=e,this._scanner=new Rg,this._tokens=[],this._current=0,this._parsingErrors=[],this._flagsGYRe=/g|y/g}parse(e){if(e===""){this._parsingErrors.push({message:mle,offset:0,lexeme:"",additionalInfo:_le});return}this._tokens=this._scanner.reset(e).scan(),this._current=0,this._parsingErrors=[];try{const t=this._expr();if(!this._isAtEnd()){const i=this._peek(),n=i.type===17?Cle:void 0;throw this._parsingErrors.push({message:ble,offset:i.offset,lexeme:Rg.getLexeme(i),additionalInfo:n}),hv._parseError}return t}catch(t){if(t!==hv._parseError)throw t;return}}_expr(){return this._or()}_or(){const e=[this._and()];for(;this._matchOne(16);){const t=this._and();e.push(t)}return e.length===1?e[0]:G.or(...e)}_and(){const e=[this._term()];for(;this._matchOne(15);){const t=this._term();e.push(t)}return e.length===1?e[0]:G.and(...e)}_term(){if(this._matchOne(2)){const e=this._peek();switch(e.type){case 11:return this._advance(),js.INSTANCE;case 12:return this._advance(),ho.INSTANCE;case 0:{this._advance();const t=this._expr();return this._consume(1,S3),t==null?void 0:t.negate()}case 17:return this._advance(),op.create(e.lexeme);default:throw this._errExpectedButGot("KEY | true | false | '(' expression ')'",e)}}return this._primary()}_primary(){const e=this._peek();switch(e.type){case 11:return this._advance(),G.true();case 12:return this._advance(),G.false();case 0:{this._advance();const t=this._expr();return this._consume(1,S3),t}case 17:{const t=e.lexeme;if(this._advance(),this._matchOne(9)){const n=this._peek();if(!this._config.regexParsingWithErrorRecovery){if(this._advance(),n.type!==10)throw this._errExpectedButGot("REGEX",n);const o=n.lexeme,r=o.lastIndexOf("/"),a=r===o.length-1?void 0:this._removeFlagsGY(o.substring(r+1));let l;try{l=new RegExp(o.substring(1,r),a)}catch{throw this._errExpectedButGot("REGEX",n)}return Bb.create(t,l)}switch(n.type){case 10:case 19:{const o=[n.lexeme];this._advance();let r=this._peek(),a=0;for(let h=0;h =0){const d=o.slice(a+1,l),c=o[l+1]==="i"?"i":"";try{r=new RegExp(d,c)}catch{throw this._errExpectedButGot("REGEX",n)}}}if(r===null)throw this._errExpectedButGot("REGEX",n);return Bb.create(t,r)}default:throw this._errExpectedButGot("REGEX",this._peek())}}if(this._matchOne(14)){this._consume(13,vle);const n=this._value();return G.notIn(t,n)}switch(this._peek().type){case 3:{this._advance();const n=this._value();if(this._previous().type===18)return G.equals(t,n);switch(n){case"true":return G.has(t);case"false":return G.not(t);default:return G.equals(t,n)}}case 4:{this._advance();const n=this._value();if(this._previous().type===18)return G.notEquals(t,n);switch(n){case"true":return G.not(t);case"false":return G.has(t);default:return G.notEquals(t,n)}}case 5:return this._advance(),dx.create(t,this._value());case 6:return this._advance(),cx.create(t,this._value());case 7:return this._advance(),ax.create(t,this._value());case 8:return this._advance(),lx.create(t,this._value());case 13:return this._advance(),G.in(t,this._value());default:return G.has(t)}}case 20:throw this._parsingErrors.push({message:wle,offset:e.offset,lexeme:"",additionalInfo:yle}),hv._parseError;default:throw this._errExpectedButGot(`true | false | KEY | KEY '=~' REGEX | KEY ('==' | '!=' | '<' | '<=' | '>' | '>=' | 'in' | 'not' 'in') value`,this._peek())}}_value(){const e=this._peek();switch(e.type){case 17:case 18:return this._advance(),e.lexeme;case 11:return this._advance(),"true";case 12:return this._advance(),"false";case 13:return this._advance(),"in";default:return""}}_removeFlagsGY(e){return e.replaceAll(this._flagsGYRe,"")}_previous(){return this._tokens[this._current-1]}_matchOne(e){return this._check(e)?(this._advance(),!0):!1}_advance(){return this._isAtEnd()||this._current++,this._previous()}_consume(e,t){if(this._check(e))return this._advance();throw this._errExpectedButGot(t,this._peek())}_errExpectedButGot(e,t,i){const n=p("contextkey.parser.error.expectedButGot",`Expected: {0} Received: '{1}'.`,e,Rg.getLexeme(t)),o=t.offset,r=Rg.getLexeme(t);return this._parsingErrors.push({message:n,offset:o,lexeme:r,additionalInfo:i}),hv._parseError}_check(e){return this._peek().type===e}_peek(){return this._tokens[this._current]}_isAtEnd(){return this._peek().type===20}};Oz._parseError=new Error;class G{static false(){return js.INSTANCE}static true(){return ho.INSTANCE}static has(e){return sp.create(e)}static equals(e,t){return r0.create(e,t)}static notEquals(e,t){return ox.create(e,t)}static regex(e,t){return Bb.create(e,t)}static in(e,t){return nx.create(e,t)}static notIn(e,t){return sx.create(e,t)}static not(e){return op.create(e)}static and(...e){return Gg.create(e,null,!0)}static or(...e){return oc.create(e,null,!0)}static deserialize(e){return e==null?void 0:this._parser.parse(e)}}G._parser=new Oz({regexParsingWithErrorRecovery:!1});function Sle(s,e){const t=s?s.substituteConstants():void 0,i=e?e.substituteConstants():void 0;return!t&&!i?!0:!t||!i?!1:t.equals(i)}function zv(s,e){return s.cmp(e)}class js{constructor(){this.type=0}cmp(e){return this.type-e.type}equals(e){return e.type===this.type}substituteConstants(){return this}evaluate(e){return!1}serialize(){return"false"}keys(){return[]}negate(){return ho.INSTANCE}}js.INSTANCE=new js;class ho{constructor(){this.type=1}cmp(e){return this.type-e.type}equals(e){return e.type===this.type}substituteConstants(){return this}evaluate(e){return!0}serialize(){return"true"}keys(){return[]}negate(){return js.INSTANCE}}ho.INSTANCE=new ho;class sp{static create(e,t=null){const i=ls.get(e);return typeof i=="boolean"?i?ho.INSTANCE:js.INSTANCE:new sp(e,t)}constructor(e,t){this.key=e,this.negated=t,this.type=2}cmp(e){return e.type!==this.type?this.type-e.type:Wz(this.key,e.key)}equals(e){return e.type===this.type?this.key===e.key:!1}substituteConstants(){const e=ls.get(this.key);return typeof e=="boolean"?e?ho.INSTANCE:js.INSTANCE:this}evaluate(e){return!!e.getValue(this.key)}serialize(){return this.key}keys(){return[this.key]}negate(){return this.negated||(this.negated=op.create(this.key,this)),this.negated}}class r0{static create(e,t,i=null){if(typeof t=="boolean")return t?sp.create(e,i):op.create(e,i);const n=ls.get(e);return typeof n=="boolean"?t===(n?"true":"false")?ho.INSTANCE:js.INSTANCE:new r0(e,t,i)}constructor(e,t,i){this.key=e,this.value=t,this.negated=i,this.type=4}cmp(e){return e.type!==this.type?this.type-e.type:rp(this.key,this.value,e.key,e.value)}equals(e){return e.type===this.type?this.key===e.key&&this.value===e.value:!1}substituteConstants(){const e=ls.get(this.key);if(typeof e=="boolean"){const t=e?"true":"false";return this.value===t?ho.INSTANCE:js.INSTANCE}return this}evaluate(e){return e.getValue(this.key)==this.value}serialize(){return`${this.key} == '${this.value}'`}keys(){return[this.key]}negate(){return this.negated||(this.negated=ox.create(this.key,this.value,this)),this.negated}}class nx{static create(e,t){return new nx(e,t)}constructor(e,t){this.key=e,this.valueKey=t,this.type=10,this.negated=null}cmp(e){return e.type!==this.type?this.type-e.type:rp(this.key,this.valueKey,e.key,e.valueKey)}equals(e){return e.type===this.type?this.key===e.key&&this.valueKey===e.valueKey:!1}substituteConstants(){return this}evaluate(e){const t=e.getValue(this.valueKey),i=e.getValue(this.key);return Array.isArray(t)?t.includes(i):typeof i=="string"&&typeof t=="object"&&t!==null?fle.call(t,i):!1}serialize(){return`${this.key} in '${this.valueKey}'`}keys(){return[this.key,this.valueKey]}negate(){return this.negated||(this.negated=sx.create(this.key,this.valueKey)),this.negated}}class sx{static create(e,t){return new sx(e,t)}constructor(e,t){this.key=e,this.valueKey=t,this.type=11,this._negated=nx.create(e,t)}cmp(e){return e.type!==this.type?this.type-e.type:this._negated.cmp(e._negated)}equals(e){return e.type===this.type?this._negated.equals(e._negated):!1}substituteConstants(){return this}evaluate(e){return!this._negated.evaluate(e)}serialize(){return`${this.key} not in '${this.valueKey}'`}keys(){return this._negated.keys()}negate(){return this._negated}}class ox{static create(e,t,i=null){if(typeof t=="boolean")return t?op.create(e,i):sp.create(e,i);const n=ls.get(e);return typeof n=="boolean"?t===(n?"true":"false")?js.INSTANCE:ho.INSTANCE:new ox(e,t,i)}constructor(e,t,i){this.key=e,this.value=t,this.negated=i,this.type=5}cmp(e){return e.type!==this.type?this.type-e.type:rp(this.key,this.value,e.key,e.value)}equals(e){return e.type===this.type?this.key===e.key&&this.value===e.value:!1}substituteConstants(){const e=ls.get(this.key);if(typeof e=="boolean"){const t=e?"true":"false";return this.value===t?js.INSTANCE:ho.INSTANCE}return this}evaluate(e){return e.getValue(this.key)!=this.value}serialize(){return`${this.key} != '${this.value}'`}keys(){return[this.key]}negate(){return this.negated||(this.negated=r0.create(this.key,this.value,this)),this.negated}}class op{static create(e,t=null){const i=ls.get(e);return typeof i=="boolean"?i?js.INSTANCE:ho.INSTANCE:new op(e,t)}constructor(e,t){this.key=e,this.negated=t,this.type=3}cmp(e){return e.type!==this.type?this.type-e.type:Wz(this.key,e.key)}equals(e){return e.type===this.type?this.key===e.key:!1}substituteConstants(){const e=ls.get(this.key);return typeof e=="boolean"?e?js.INSTANCE:ho.INSTANCE:this}evaluate(e){return!e.getValue(this.key)}serialize(){return`!${this.key}`}keys(){return[this.key]}negate(){return this.negated||(this.negated=sp.create(this.key,this)),this.negated}}function rx(s,e){if(typeof s=="string"){const t=parseFloat(s);isNaN(t)||(s=t)}return typeof s=="string"||typeof s=="number"?e(s):js.INSTANCE}class ax{static create(e,t,i=null){return rx(t,n=>new ax(e,n,i))}constructor(e,t,i){this.key=e,this.value=t,this.negated=i,this.type=12}cmp(e){return e.type!==this.type?this.type-e.type:rp(this.key,this.value,e.key,e.value)}equals(e){return e.type===this.type?this.key===e.key&&this.value===e.value:!1}substituteConstants(){return this}evaluate(e){return typeof this.value=="string"?!1:parseFloat(e.getValue(this.key))>this.value}serialize(){return`${this.key} > ${this.value}`}keys(){return[this.key]}negate(){return this.negated||(this.negated=cx.create(this.key,this.value,this)),this.negated}}class lx{static create(e,t,i=null){return rx(t,n=>new lx(e,n,i))}constructor(e,t,i){this.key=e,this.value=t,this.negated=i,this.type=13}cmp(e){return e.type!==this.type?this.type-e.type:rp(this.key,this.value,e.key,e.value)}equals(e){return e.type===this.type?this.key===e.key&&this.value===e.value:!1}substituteConstants(){return this}evaluate(e){return typeof this.value=="string"?!1:parseFloat(e.getValue(this.key))>=this.value}serialize(){return`${this.key} >= ${this.value}`}keys(){return[this.key]}negate(){return this.negated||(this.negated=dx.create(this.key,this.value,this)),this.negated}}class dx{static create(e,t,i=null){return rx(t,n=>new dx(e,n,i))}constructor(e,t,i){this.key=e,this.value=t,this.negated=i,this.type=14}cmp(e){return e.type!==this.type?this.type-e.type:rp(this.key,this.value,e.key,e.value)}equals(e){return e.type===this.type?this.key===e.key&&this.value===e.value:!1}substituteConstants(){return this}evaluate(e){return typeof this.value=="string"?!1:parseFloat(e.getValue(this.key)) new cx(e,n,i))}constructor(e,t,i){this.key=e,this.value=t,this.negated=i,this.type=15}cmp(e){return e.type!==this.type?this.type-e.type:rp(this.key,this.value,e.key,e.value)}equals(e){return e.type===this.type?this.key===e.key&&this.value===e.value:!1}substituteConstants(){return this}evaluate(e){return typeof this.value=="string"?!1:parseFloat(e.getValue(this.key))<=this.value}serialize(){return`${this.key} <= ${this.value}`}keys(){return[this.key]}negate(){return this.negated||(this.negated=ax.create(this.key,this.value,this)),this.negated}}class Bb{static create(e,t){return new Bb(e,t)}constructor(e,t){this.key=e,this.regexp=t,this.type=7,this.negated=null}cmp(e){if(e.type!==this.type)return this.type-e.type;if(this.key e.key)return 1;const t=this.regexp?this.regexp.source:"",i=e.regexp?e.regexp.source:"";return ti?1:0}equals(e){if(e.type===this.type){const t=this.regexp?this.regexp.source:"",i=e.regexp?e.regexp.source:"";return this.key===e.key&&t===i}return!1}substituteConstants(){return this}evaluate(e){const t=e.getValue(this.key);return this.regexp?this.regexp.test(t):!1}serialize(){const e=this.regexp?`/${this.regexp.source}/${this.regexp.flags}`:"/invalid/";return`${this.key} =~ ${e}`}keys(){return[this.key]}negate(){return this.negated||(this.negated=gF.create(this)),this.negated}}class gF{static create(e){return new gF(e)}constructor(e){this._actual=e,this.type=8}cmp(e){return e.type!==this.type?this.type-e.type:this._actual.cmp(e._actual)}equals(e){return e.type===this.type?this._actual.equals(e._actual):!1}substituteConstants(){return this}evaluate(e){return!this._actual.evaluate(e)}serialize(){return`!(${this._actual.serialize()})`}keys(){return this._actual.keys()}negate(){return this._actual}}function Bz(s){let e=null;for(let t=0,i=s.length;te.expr.length)return 1;for(let t=0,i=this.expr.length;t1;){const r=n[n.length-1];if(r.type!==9)break;n.pop();const a=n.pop(),l=n.length===0,d=oc.create(r.expr.map(c=>Gg.create([c,a],null,i)),null,l);d&&(n.push(d),n.sort(zv))}if(n.length===1)return n[0];if(i){for(let r=0;r e.serialize()).join(" && ")}keys(){const e=[];for(const t of this.expr)e.push(...t.keys());return e}negate(){if(!this.negated){const e=[];for(const t of this.expr)e.push(t.negate());this.negated=oc.create(e,this,!0)}return this.negated}}class oc{static create(e,t,i){return oc._normalizeArr(e,t,i)}constructor(e,t){this.expr=e,this.negated=t,this.type=9}cmp(e){if(e.type!==this.type)return this.type-e.type;if(this.expr.length e.expr.length)return 1;for(let t=0,i=this.expr.length;te.serialize()).join(" || ")}keys(){const e=[];for(const t of this.expr)e.push(...t.keys());return e}negate(){if(!this.negated){const e=[];for(const t of this.expr)e.push(t.negate());for(;e.length>1;){const t=e.shift(),i=e.shift(),n=[];for(const o of L3(t))for(const r of L3(i))n.push(Gg.create([o,r],null,!1));e.unshift(oc.create(n,null,!1))}this.negated=oc.create(e,this,!0)}return this.negated}}class ue extends sp{static all(){return ue._info.values()}constructor(e,t,i){super(e,null),this._defaultValue=t,typeof i=="object"?ue._info.push({...i,key:e}):i!==!0&&ue._info.push({key:e,description:i,type:t!=null?typeof t:void 0})}bindTo(e){return e.createKey(this.key,this._defaultValue)}getValue(e){return e.getContextKeyValue(this.key)}toNegated(){return this.negate()}isEqualTo(e){return r0.create(this.key,e)}}ue._info=[];const Be=ut("contextKeyService");function Wz(s,e){return s e?1:0}function rp(s,e,t,i){return s t?1:ei?1:0}function cA(s,e){if(s.type===0||e.type===1)return!0;if(s.type===9)return e.type===9?D3(s.expr,e.expr):!1;if(e.type===9){for(const t of e.expr)if(cA(s,t))return!0;return!1}if(s.type===6){if(e.type===6)return D3(e.expr,s.expr);for(const t of s.expr)if(cA(t,e))return!0;return!1}return s.equals(e)}function D3(s,e){let t=0,i=0;for(;t {a(),this._cachedMergedKeybindings=null})}getDefaultKeybindings(){return this._cachedMergedKeybindings||(this._cachedMergedKeybindings=Array.from(this._coreKeybindings).concat(this._extensionKeybindings),this._cachedMergedKeybindings.sort(xle)),this._cachedMergedKeybindings.slice(0)}}const go=new pF,Lle={EditorModes:"platform.keybindingsRegistry"};Ji.add(Lle.EditorModes,go);function xle(s,e){if(s.weight1!==e.weight1)return s.weight1-e.weight1;if(s.command&&e.command){if(s.command e.command)return 1}return s.weight2-e.weight2}var kle=function(s,e,t,i){var n=arguments.length,o=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(o=(n<3?r(o):n>3?r(e,t,o):r(e,t))||o);return n>3&&o&&Object.defineProperty(e,t,o),o},k3=function(s,e){return function(t,i){e(t,i,s)}},Wy;function tm(s){return s.command!==void 0}function Ele(s){return s.submenu!==void 0}class E{constructor(e){if(E._instances.has(e))throw new TypeError(`MenuId with identifier '${e}' already exists. Use MenuId.for(ident) or a unique identifier`);E._instances.set(e,this),this.id=e}}E._instances=new Map;E.CommandPalette=new E("CommandPalette");E.DebugBreakpointsContext=new E("DebugBreakpointsContext");E.DebugCallStackContext=new E("DebugCallStackContext");E.DebugConsoleContext=new E("DebugConsoleContext");E.DebugVariablesContext=new E("DebugVariablesContext");E.NotebookVariablesContext=new E("NotebookVariablesContext");E.DebugHoverContext=new E("DebugHoverContext");E.DebugWatchContext=new E("DebugWatchContext");E.DebugToolBar=new E("DebugToolBar");E.DebugToolBarStop=new E("DebugToolBarStop");E.EditorContext=new E("EditorContext");E.SimpleEditorContext=new E("SimpleEditorContext");E.EditorContent=new E("EditorContent");E.EditorLineNumberContext=new E("EditorLineNumberContext");E.EditorContextCopy=new E("EditorContextCopy");E.EditorContextPeek=new E("EditorContextPeek");E.EditorContextShare=new E("EditorContextShare");E.EditorTitle=new E("EditorTitle");E.EditorTitleRun=new E("EditorTitleRun");E.EditorTitleContext=new E("EditorTitleContext");E.EditorTitleContextShare=new E("EditorTitleContextShare");E.EmptyEditorGroup=new E("EmptyEditorGroup");E.EmptyEditorGroupContext=new E("EmptyEditorGroupContext");E.EditorTabsBarContext=new E("EditorTabsBarContext");E.EditorTabsBarShowTabsSubmenu=new E("EditorTabsBarShowTabsSubmenu");E.EditorTabsBarShowTabsZenModeSubmenu=new E("EditorTabsBarShowTabsZenModeSubmenu");E.EditorActionsPositionSubmenu=new E("EditorActionsPositionSubmenu");E.ExplorerContext=new E("ExplorerContext");E.ExplorerContextShare=new E("ExplorerContextShare");E.ExtensionContext=new E("ExtensionContext");E.GlobalActivity=new E("GlobalActivity");E.CommandCenter=new E("CommandCenter");E.CommandCenterCenter=new E("CommandCenterCenter");E.LayoutControlMenuSubmenu=new E("LayoutControlMenuSubmenu");E.LayoutControlMenu=new E("LayoutControlMenu");E.MenubarMainMenu=new E("MenubarMainMenu");E.MenubarAppearanceMenu=new E("MenubarAppearanceMenu");E.MenubarDebugMenu=new E("MenubarDebugMenu");E.MenubarEditMenu=new E("MenubarEditMenu");E.MenubarCopy=new E("MenubarCopy");E.MenubarFileMenu=new E("MenubarFileMenu");E.MenubarGoMenu=new E("MenubarGoMenu");E.MenubarHelpMenu=new E("MenubarHelpMenu");E.MenubarLayoutMenu=new E("MenubarLayoutMenu");E.MenubarNewBreakpointMenu=new E("MenubarNewBreakpointMenu");E.PanelAlignmentMenu=new E("PanelAlignmentMenu");E.PanelPositionMenu=new E("PanelPositionMenu");E.ActivityBarPositionMenu=new E("ActivityBarPositionMenu");E.MenubarPreferencesMenu=new E("MenubarPreferencesMenu");E.MenubarRecentMenu=new E("MenubarRecentMenu");E.MenubarSelectionMenu=new E("MenubarSelectionMenu");E.MenubarShare=new E("MenubarShare");E.MenubarSwitchEditorMenu=new E("MenubarSwitchEditorMenu");E.MenubarSwitchGroupMenu=new E("MenubarSwitchGroupMenu");E.MenubarTerminalMenu=new E("MenubarTerminalMenu");E.MenubarViewMenu=new E("MenubarViewMenu");E.MenubarHomeMenu=new E("MenubarHomeMenu");E.OpenEditorsContext=new E("OpenEditorsContext");E.OpenEditorsContextShare=new E("OpenEditorsContextShare");E.ProblemsPanelContext=new E("ProblemsPanelContext");E.SCMInputBox=new E("SCMInputBox");E.SCMChangesSeparator=new E("SCMChangesSeparator");E.SCMIncomingChanges=new E("SCMIncomingChanges");E.SCMIncomingChangesContext=new E("SCMIncomingChangesContext");E.SCMIncomingChangesSetting=new E("SCMIncomingChangesSetting");E.SCMOutgoingChanges=new E("SCMOutgoingChanges");E.SCMOutgoingChangesContext=new E("SCMOutgoingChangesContext");E.SCMOutgoingChangesSetting=new E("SCMOutgoingChangesSetting");E.SCMIncomingChangesAllChangesContext=new E("SCMIncomingChangesAllChangesContext");E.SCMIncomingChangesHistoryItemContext=new E("SCMIncomingChangesHistoryItemContext");E.SCMOutgoingChangesAllChangesContext=new E("SCMOutgoingChangesAllChangesContext");E.SCMOutgoingChangesHistoryItemContext=new E("SCMOutgoingChangesHistoryItemContext");E.SCMChangeContext=new E("SCMChangeContext");E.SCMResourceContext=new E("SCMResourceContext");E.SCMResourceContextShare=new E("SCMResourceContextShare");E.SCMResourceFolderContext=new E("SCMResourceFolderContext");E.SCMResourceGroupContext=new E("SCMResourceGroupContext");E.SCMSourceControl=new E("SCMSourceControl");E.SCMSourceControlInline=new E("SCMSourceControlInline");E.SCMSourceControlTitle=new E("SCMSourceControlTitle");E.SCMTitle=new E("SCMTitle");E.SearchContext=new E("SearchContext");E.SearchActionMenu=new E("SearchActionContext");E.StatusBarWindowIndicatorMenu=new E("StatusBarWindowIndicatorMenu");E.StatusBarRemoteIndicatorMenu=new E("StatusBarRemoteIndicatorMenu");E.StickyScrollContext=new E("StickyScrollContext");E.TestItem=new E("TestItem");E.TestItemGutter=new E("TestItemGutter");E.TestMessageContext=new E("TestMessageContext");E.TestMessageContent=new E("TestMessageContent");E.TestPeekElement=new E("TestPeekElement");E.TestPeekTitle=new E("TestPeekTitle");E.TouchBarContext=new E("TouchBarContext");E.TitleBarContext=new E("TitleBarContext");E.TitleBarTitleContext=new E("TitleBarTitleContext");E.TunnelContext=new E("TunnelContext");E.TunnelPrivacy=new E("TunnelPrivacy");E.TunnelProtocol=new E("TunnelProtocol");E.TunnelPortInline=new E("TunnelInline");E.TunnelTitle=new E("TunnelTitle");E.TunnelLocalAddressInline=new E("TunnelLocalAddressInline");E.TunnelOriginInline=new E("TunnelOriginInline");E.ViewItemContext=new E("ViewItemContext");E.ViewContainerTitle=new E("ViewContainerTitle");E.ViewContainerTitleContext=new E("ViewContainerTitleContext");E.ViewTitle=new E("ViewTitle");E.ViewTitleContext=new E("ViewTitleContext");E.CommentEditorActions=new E("CommentEditorActions");E.CommentThreadTitle=new E("CommentThreadTitle");E.CommentThreadActions=new E("CommentThreadActions");E.CommentThreadAdditionalActions=new E("CommentThreadAdditionalActions");E.CommentThreadTitleContext=new E("CommentThreadTitleContext");E.CommentThreadCommentContext=new E("CommentThreadCommentContext");E.CommentTitle=new E("CommentTitle");E.CommentActions=new E("CommentActions");E.CommentsViewThreadActions=new E("CommentsViewThreadActions");E.InteractiveToolbar=new E("InteractiveToolbar");E.InteractiveCellTitle=new E("InteractiveCellTitle");E.InteractiveCellDelete=new E("InteractiveCellDelete");E.InteractiveCellExecute=new E("InteractiveCellExecute");E.InteractiveInputExecute=new E("InteractiveInputExecute");E.IssueReporter=new E("IssueReporter");E.NotebookToolbar=new E("NotebookToolbar");E.NotebookStickyScrollContext=new E("NotebookStickyScrollContext");E.NotebookCellTitle=new E("NotebookCellTitle");E.NotebookCellDelete=new E("NotebookCellDelete");E.NotebookCellInsert=new E("NotebookCellInsert");E.NotebookCellBetween=new E("NotebookCellBetween");E.NotebookCellListTop=new E("NotebookCellTop");E.NotebookCellExecute=new E("NotebookCellExecute");E.NotebookCellExecuteGoTo=new E("NotebookCellExecuteGoTo");E.NotebookCellExecutePrimary=new E("NotebookCellExecutePrimary");E.NotebookDiffCellInputTitle=new E("NotebookDiffCellInputTitle");E.NotebookDiffCellMetadataTitle=new E("NotebookDiffCellMetadataTitle");E.NotebookDiffCellOutputsTitle=new E("NotebookDiffCellOutputsTitle");E.NotebookOutputToolbar=new E("NotebookOutputToolbar");E.NotebookOutlineFilter=new E("NotebookOutlineFilter");E.NotebookOutlineActionMenu=new E("NotebookOutlineActionMenu");E.NotebookEditorLayoutConfigure=new E("NotebookEditorLayoutConfigure");E.NotebookKernelSource=new E("NotebookKernelSource");E.BulkEditTitle=new E("BulkEditTitle");E.BulkEditContext=new E("BulkEditContext");E.TimelineItemContext=new E("TimelineItemContext");E.TimelineTitle=new E("TimelineTitle");E.TimelineTitleContext=new E("TimelineTitleContext");E.TimelineFilterSubMenu=new E("TimelineFilterSubMenu");E.AccountsContext=new E("AccountsContext");E.SidebarTitle=new E("SidebarTitle");E.PanelTitle=new E("PanelTitle");E.AuxiliaryBarTitle=new E("AuxiliaryBarTitle");E.AuxiliaryBarHeader=new E("AuxiliaryBarHeader");E.TerminalInstanceContext=new E("TerminalInstanceContext");E.TerminalEditorInstanceContext=new E("TerminalEditorInstanceContext");E.TerminalNewDropdownContext=new E("TerminalNewDropdownContext");E.TerminalTabContext=new E("TerminalTabContext");E.TerminalTabEmptyAreaContext=new E("TerminalTabEmptyAreaContext");E.TerminalStickyScrollContext=new E("TerminalStickyScrollContext");E.WebviewContext=new E("WebviewContext");E.InlineCompletionsActions=new E("InlineCompletionsActions");E.InlineEditActions=new E("InlineEditActions");E.NewFile=new E("NewFile");E.MergeInput1Toolbar=new E("MergeToolbar1Toolbar");E.MergeInput2Toolbar=new E("MergeToolbar2Toolbar");E.MergeBaseToolbar=new E("MergeBaseToolbar");E.MergeInputResultToolbar=new E("MergeToolbarResultToolbar");E.InlineSuggestionToolbar=new E("InlineSuggestionToolbar");E.InlineEditToolbar=new E("InlineEditToolbar");E.ChatContext=new E("ChatContext");E.ChatCodeBlock=new E("ChatCodeblock");E.ChatCompareBlock=new E("ChatCompareBlock");E.ChatMessageTitle=new E("ChatMessageTitle");E.ChatExecute=new E("ChatExecute");E.ChatExecuteSecondary=new E("ChatExecuteSecondary");E.ChatInputSide=new E("ChatInputSide");E.AccessibleView=new E("AccessibleView");E.MultiDiffEditorFileToolbar=new E("MultiDiffEditorFileToolbar");E.DiffEditorHunkToolbar=new E("DiffEditorHunkToolbar");E.DiffEditorSelectionToolbar=new E("DiffEditorSelectionToolbar");const hr=ut("menuService");class rc{static for(e){let t=this._all.get(e);return t||(t=new rc(e),this._all.set(e,t)),t}static merge(e){const t=new Set;for(const i of e)i instanceof rc&&t.add(i.id);return t}constructor(e){this.id=e,this.has=t=>t===e}}rc._all=new Map;const yn=new class{constructor(){this._commands=new Map,this._menuItems=new Map,this._onDidChangeMenu=new Goe({merge:rc.merge}),this.onDidChangeMenu=this._onDidChangeMenu.event}addCommand(s){return this._commands.set(s.id,s),this._onDidChangeMenu.fire(rc.for(E.CommandPalette)),Ie(()=>{this._commands.delete(s.id)&&this._onDidChangeMenu.fire(rc.for(E.CommandPalette))})}getCommand(s){return this._commands.get(s)}getCommands(){const s=new Map;return this._commands.forEach((e,t)=>s.set(t,e)),s}appendMenuItem(s,e){let t=this._menuItems.get(s);t||(t=new Rs,this._menuItems.set(s,t));const i=t.push(e);return this._onDidChangeMenu.fire(rc.for(s)),Ie(()=>{i(),this._onDidChangeMenu.fire(rc.for(s))})}appendMenuItems(s){const e=new Y;for(const{id:t,item:i}of s)e.add(this.appendMenuItem(t,i));return e}getMenuItems(s){let e;return this._menuItems.has(s)?e=[...this._menuItems.get(s)]:e=[],s===E.CommandPalette&&this._appendImplicitItems(e),e}_appendImplicitItems(s){const e=new Set;for(const t of s)tm(t)&&(e.add(t.command.id),t.alt&&e.add(t.alt.id));this._commands.forEach((t,i)=>{e.has(i)||s.push({command:t})})}};class Em extends c_{constructor(e,t,i){super(`submenuitem.${e.submenu.id}`,typeof e.title=="string"?e.title:e.title.value,i,"submenu"),this.item=e,this.hideActions=t}}let Io=Wy=class{static label(e,t){return t!=null&&t.renderShortTitle&&e.shortTitle?typeof e.shortTitle=="string"?e.shortTitle:e.shortTitle.value:typeof e.title=="string"?e.title:e.title.value}constructor(e,t,i,n,o,r,a){var l,d;this.hideActions=n,this.menuKeybinding=o,this._commandService=a,this.id=e.id,this.label=Wy.label(e,i),this.tooltip=(d=typeof e.tooltip=="string"?e.tooltip:(l=e.tooltip)===null||l===void 0?void 0:l.value)!==null&&d!==void 0?d:"",this.enabled=!e.precondition||r.contextMatchesRules(e.precondition),this.checked=void 0;let c;if(e.toggled){const u=e.toggled.condition?e.toggled:{condition:e.toggled};this.checked=r.contextMatchesRules(u.condition),this.checked&&u.tooltip&&(this.tooltip=typeof u.tooltip=="string"?u.tooltip:u.tooltip.value),this.checked&&Pe.isThemeIcon(u.icon)&&(c=u.icon),this.checked&&u.title&&(this.label=typeof u.title=="string"?u.title:u.title.value)}c||(c=Pe.isThemeIcon(e.icon)?e.icon:void 0),this.item=e,this.alt=t?new Wy(t,void 0,i,n,void 0,r,a):void 0,this._options=i,this.class=c&&Pe.asClassName(c)}run(...e){var t,i;let n=[];return!((t=this._options)===null||t===void 0)&&t.arg&&(n=[...n,this._options.arg]),!((i=this._options)===null||i===void 0)&&i.shouldForwardArgs&&(n=[...n,...e]),this._commandService.executeCommand(this.id,...n)}};Io=Wy=kle([k3(5,Be),k3(6,gi)],Io);class qs{constructor(e){this.desc=e}}function qt(s){const e=new Y,t=new s,{f1:i,menu:n,keybinding:o,...r}=t.desc;if(pt.getCommand(r.id))throw new Error(`Cannot register two commands with the same id: ${r.id}`);if(e.add(pt.registerCommand({id:r.id,handler:(a,...l)=>t.run(a,...l),metadata:r.metadata})),Array.isArray(n))for(const a of n)e.add(yn.appendMenuItem(a.id,{command:{...r,precondition:a.precondition===null?void 0:r.precondition},...a}));else n&&e.add(yn.appendMenuItem(n.id,{command:{...r,precondition:n.precondition===null?void 0:r.precondition},...n}));if(i&&(e.add(yn.appendMenuItem(E.CommandPalette,{command:r,when:r.precondition})),e.add(yn.addCommand(r))),Array.isArray(o))for(const a of o)e.add(go.registerKeybindingRule({...a,id:r.id,when:r.precondition?G.and(r.precondition,a.when):a.when}));else o&&e.add(go.registerKeybindingRule({...o,id:r.id,when:r.precondition?G.and(r.precondition,o.when):o.when}));return e}const Gs=ut("telemetryService"),ys=ut("logService");var Zn;(function(s){s[s.Off=0]="Off",s[s.Trace=1]="Trace",s[s.Debug=2]="Debug",s[s.Info=3]="Info",s[s.Warning=4]="Warning",s[s.Error=5]="Error"})(Zn||(Zn={}));const Hz=Zn.Info;class Vz extends H{constructor(){super(...arguments),this.level=Hz,this._onDidChangeLogLevel=this._register(new B),this.onDidChangeLogLevel=this._onDidChangeLogLevel.event}setLevel(e){this.level!==e&&(this.level=e,this._onDidChangeLogLevel.fire(this.level))}getLevel(){return this.level}checkLogLevel(e){return this.level!==Zn.Off&&this.level<=e}}class Ile extends Vz{constructor(e=Hz,t=!0){super(),this.useColors=t,this.setLevel(e)}trace(e,...t){this.checkLogLevel(Zn.Trace)&&(this.useColors?console.log("%cTRACE","color: #888",e,...t):console.log(e,...t))}debug(e,...t){this.checkLogLevel(Zn.Debug)&&(this.useColors?console.log("%cDEBUG","background: #eee; color: #888",e,...t):console.log(e,...t))}info(e,...t){this.checkLogLevel(Zn.Info)&&(this.useColors?console.log("%c INFO","color: #33f",e,...t):console.log(e,...t))}warn(e,...t){this.checkLogLevel(Zn.Warning)&&(this.useColors?console.log("%c WARN","color: #993",e,...t):console.log(e,...t))}error(e,...t){this.checkLogLevel(Zn.Error)&&(this.useColors?console.log("%c ERR","color: #f33",e,...t):console.error(e,...t))}}class Tle extends Vz{constructor(e){super(),this.loggers=e,e.length&&this.setLevel(e[0].getLevel())}setLevel(e){for(const t of this.loggers)t.setLevel(e);super.setLevel(e)}trace(e,...t){for(const i of this.loggers)i.trace(e,...t)}debug(e,...t){for(const i of this.loggers)i.debug(e,...t)}info(e,...t){for(const i of this.loggers)i.info(e,...t)}warn(e,...t){for(const i of this.loggers)i.warn(e,...t)}error(e,...t){for(const i of this.loggers)i.error(e,...t)}dispose(){for(const e of this.loggers)e.dispose();super.dispose()}}function Nle(s){switch(s){case Zn.Trace:return"trace";case Zn.Debug:return"debug";case Zn.Info:return"info";case Zn.Warning:return"warn";case Zn.Error:return"error";case Zn.Off:return"off"}}new ue("logLevel",Nle(Zn.Info));class hx{constructor(e){this.id=e.id,this.precondition=e.precondition,this._kbOpts=e.kbOpts,this._menuOpts=e.menuOpts,this.metadata=e.metadata}register(){if(Array.isArray(this._menuOpts)?this._menuOpts.forEach(this._registerMenuItem,this):this._menuOpts&&this._registerMenuItem(this._menuOpts),this._kbOpts){const e=Array.isArray(this._kbOpts)?this._kbOpts:[this._kbOpts];for(const t of e){let i=t.kbExpr;this.precondition&&(i?i=G.and(i,this.precondition):i=this.precondition);const n={id:this.id,weight:t.weight,args:t.args,when:i,primary:t.primary,secondary:t.secondary,win:t.win,linux:t.linux,mac:t.mac};go.registerKeybindingRule(n)}}pt.registerCommand({id:this.id,handler:(e,t)=>this.runCommand(e,t),metadata:this.metadata})}_registerMenuItem(e){yn.appendMenuItem(e.menuId,{group:e.group,command:{id:this.id,title:e.title,icon:e.icon,precondition:this.precondition},when:e.when,order:e.order})}}class a0 extends hx{constructor(){super(...arguments),this._implementations=[]}addImplementation(e,t,i,n){return this._implementations.push({priority:e,name:t,implementation:i,when:n}),this._implementations.sort((o,r)=>r.priority-o.priority),{dispose:()=>{for(let o=0;o {if(a.get(Be).contextMatchesRules(i??void 0))return n(a,r,t)})}runCommand(e,t){return mn.runEditorCommand(e,t,this.precondition,(i,n,o)=>this.runEditorCommand(i,n,o))}}class me extends mn{static convertOptions(e){let t;Array.isArray(e.menuOpts)?t=e.menuOpts:e.menuOpts?t=[e.menuOpts]:t=[];function i(n){return n.menuId||(n.menuId=E.EditorContext),n.title||(n.title=e.label),n.when=G.and(e.precondition,n.when),n}return Array.isArray(e.contextMenuOpts)?t.push(...e.contextMenuOpts.map(i)):e.contextMenuOpts&&t.push(i(e.contextMenuOpts)),e.menuOpts=t,e}constructor(e){super(me.convertOptions(e)),this.label=e.label,this.alias=e.alias}runEditorCommand(e,t,i){return this.reportTelemetry(e,t),this.run(e,t,i||{})}reportTelemetry(e,t){e.get(Gs).publicLog2("editorActionInvoked",{name:this.label,id:this.id})}}class Uz extends me{constructor(){super(...arguments),this._implementations=[]}addImplementation(e,t){return this._implementations.push([e,t]),this._implementations.sort((i,n)=>n[0]-i[0]),{dispose:()=>{for(let i=0;i {var r,a;const l=o.get(Be),d=o.get(ys);if(!l.contextMatchesRules((r=this.desc.precondition)!==null&&r!==void 0?r:void 0)){d.debug("[EditorAction2] NOT running command because its precondition is FALSE",this.desc.id,(a=this.desc.precondition)===null||a===void 0?void 0:a.serialize());return}return this.runEditorCommand(o,n,...t)})}}function Ad(s,e){pt.registerCommand(s,function(t,...i){const n=t.get(Ne),[o,r]=i;yt(Ae.isUri(o)),yt(W.isIPosition(r));const a=t.get(_i).getModel(o);if(a){const l=W.lift(r);return n.invokeFunction(e,a,l,...i.slice(2))}return t.get(mo).createModelReference(o).then(l=>new Promise((d,c)=>{try{const u=n.invokeFunction(e,l.object.textEditorModel,W.lift(r),i.slice(2));d(u)}catch(u){c(u)}}).finally(()=>{l.dispose()}))})}function de(s){return Dr.INSTANCE.registerEditorCommand(s),s}function te(s){const e=new s;return Dr.INSTANCE.registerEditorAction(e),e}function $z(s){return Dr.INSTANCE.registerEditorAction(s),s}function Ale(s){Dr.INSTANCE.registerEditorAction(s)}function kt(s,e,t){Dr.INSTANCE.registerEditorContribution(s,e,t)}var Im;(function(s){function e(r){return Dr.INSTANCE.getEditorCommand(r)}s.getEditorCommand=e;function t(){return Dr.INSTANCE.getEditorActions()}s.getEditorActions=t;function i(){return Dr.INSTANCE.getEditorContributions()}s.getEditorContributions=i;function n(r){return Dr.INSTANCE.getEditorContributions().filter(a=>r.indexOf(a.id)>=0)}s.getSomeEditorContributions=n;function o(){return Dr.INSTANCE.getDiffEditorContributions()}s.getDiffEditorContributions=o})(Im||(Im={}));const Mle={EditorCommonContributions:"editor.contributions"};class Dr{constructor(){this.editorContributions=[],this.diffEditorContributions=[],this.editorActions=[],this.editorCommands=Object.create(null)}registerEditorContribution(e,t,i){this.editorContributions.push({id:e,ctor:t,instantiation:i})}getEditorContributions(){return this.editorContributions.slice(0)}getDiffEditorContributions(){return this.diffEditorContributions.slice(0)}registerEditorAction(e){e.register(),this.editorActions.push(e)}getEditorActions(){return this.editorActions}registerEditorCommand(e){e.register(),this.editorCommands[e.id]=e}getEditorCommand(e){return this.editorCommands[e]||null}}Dr.INSTANCE=new Dr;Ji.add(Mle.EditorCommonContributions,Dr.INSTANCE);function g1(s){return s.register(),s}const jz=g1(new a0({id:"undo",precondition:void 0,kbOpts:{weight:0,primary:2104},menuOpts:[{menuId:E.MenubarEditMenu,group:"1_do",title:p({},"&&Undo"),order:1},{menuId:E.CommandPalette,group:"",title:p("undo","Undo"),order:1}]}));g1(new zz(jz,{id:"default:undo",precondition:void 0}));const Kz=g1(new a0({id:"redo",precondition:void 0,kbOpts:{weight:0,primary:2103,secondary:[3128],mac:{primary:3128}},menuOpts:[{menuId:E.MenubarEditMenu,group:"1_do",title:p({},"&&Redo"),order:2},{menuId:E.CommandPalette,group:"",title:p("redo","Redo"),order:1}]}));g1(new zz(Kz,{id:"default:redo",precondition:void 0}));const Rle=g1(new a0({id:"editor.action.selectAll",precondition:void 0,kbOpts:{weight:0,kbExpr:null,primary:2079},menuOpts:[{menuId:E.MenubarSelectionMenu,group:"1_basic",title:p({},"&&Select All"),order:1},{menuId:E.CommandPalette,group:"",title:p("selectAll","Select All"),order:1}]})),Ple="$initialize";let E3=!1;function uA(s){Jh&&(E3||(E3=!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(s.message))}class Fle{constructor(e,t,i,n){this.vsWorker=e,this.req=t,this.method=i,this.args=n,this.type=0}}class I3{constructor(e,t,i,n){this.vsWorker=e,this.seq=t,this.res=i,this.err=n,this.type=1}}class Ole{constructor(e,t,i,n){this.vsWorker=e,this.req=t,this.eventName=i,this.arg=n,this.type=2}}class Ble{constructor(e,t,i){this.vsWorker=e,this.req=t,this.event=i,this.type=3}}class Wle{constructor(e,t){this.vsWorker=e,this.req=t,this.type=4}}class Hle{constructor(e){this._workerId=-1,this._handler=e,this._lastSentReq=0,this._pendingReplies=Object.create(null),this._pendingEmitters=new Map,this._pendingEvents=new Map}setWorkerId(e){this._workerId=e}sendMessage(e,t){const i=String(++this._lastSentReq);return new Promise((n,o)=>{this._pendingReplies[i]={resolve:n,reject:o},this._send(new Fle(this._workerId,i,e,t))})}listen(e,t){let i=null;const n=new B({onWillAddFirstListener:()=>{i=String(++this._lastSentReq),this._pendingEmitters.set(i,n),this._send(new Ole(this._workerId,i,e,t))},onDidRemoveLastListener:()=>{this._pendingEmitters.delete(i),this._send(new Wle(this._workerId,i)),i=null}});return n.event}handleMessage(e){!e||!e.vsWorker||this._workerId!==-1&&e.vsWorker!==this._workerId||this._handleMessage(e)}_handleMessage(e){switch(e.type){case 1:return this._handleReplyMessage(e);case 0:return this._handleRequestMessage(e);case 2:return this._handleSubscribeEventMessage(e);case 3:return this._handleEventMessage(e);case 4:return this._handleUnsubscribeEventMessage(e)}}_handleReplyMessage(e){if(!this._pendingReplies[e.seq]){console.warn("Got reply to unknown seq");return}const t=this._pendingReplies[e.seq];if(delete this._pendingReplies[e.seq],e.err){let i=e.err;e.err.$isError&&(i=new Error,i.name=e.err.name,i.message=e.err.message,i.stack=e.err.stack),t.reject(i);return}t.resolve(e.res)}_handleRequestMessage(e){const t=e.req;this._handler.handleMessage(e.method,e.args).then(n=>{this._send(new I3(this._workerId,t,n,void 0))},n=>{n.detail instanceof Error&&(n.detail=e3(n.detail)),this._send(new I3(this._workerId,t,void 0,e3(n)))})}_handleSubscribeEventMessage(e){const t=e.req,i=this._handler.handleEvent(e.eventName,e.arg)(n=>{this._send(new Ble(this._workerId,t,n))});this._pendingEvents.set(t,i)}_handleEventMessage(e){if(!this._pendingEmitters.has(e.req)){console.warn("Got event for unknown req");return}this._pendingEmitters.get(e.req).fire(e.event)}_handleUnsubscribeEventMessage(e){if(!this._pendingEvents.has(e.req)){console.warn("Got unsubscribe for unknown req");return}this._pendingEvents.get(e.req).dispose(),this._pendingEvents.delete(e.req)}_send(e){const t=[];if(e.type===0)for(let i=0;i {this._protocol.handleMessage(c)},c=>{n==null||n(c)})),this._protocol=new Hle({sendMessage:(c,u)=>{this._worker.postMessage(c,u)},handleMessage:(c,u)=>{if(typeof i[c]!="function")return Promise.reject(new Error("Missing method "+c+" on main thread host."));try{return Promise.resolve(i[c].apply(i,u))}catch(h){return Promise.reject(h)}},handleEvent:(c,u)=>{if(Gz(c)){const h=i[c].call(i,u);if(typeof h!="function")throw new Error(`Missing dynamic event ${c} on main thread host.`);return h}if(qz(c)){const h=i[c];if(typeof h!="function")throw new Error(`Missing event ${c} on main thread host.`);return h}throw new Error(`Malformed event name ${c}`)}}),this._protocol.setWorkerId(this._worker.getId());let o=null;const r=globalThis.require;typeof r<"u"&&typeof r.getConfig=="function"?o=r.getConfig():typeof globalThis.requirejs<"u"&&(o=globalThis.requirejs.s.contexts._.config);const a=BP(i);this._onModuleLoaded=this._protocol.sendMessage(Ple,[this._worker.getId(),JSON.parse(JSON.stringify(o)),t,a]);const l=(c,u)=>this._request(c,u),d=(c,u)=>this._protocol.listen(c,u);this._lazyProxy=new Promise((c,u)=>{n=u,this._onModuleLoaded.then(h=>{c(zle(h,l,d))},h=>{u(h),this._onError("Worker failed to load "+t,h)})})}getProxyObject(){return this._lazyProxy}_request(e,t){return new Promise((i,n)=>{this._onModuleLoaded.then(()=>{this._protocol.sendMessage(e,t).then(i,n)},n)})}_onError(e,t){console.error(e),console.info(t)}}function qz(s){return s[0]==="o"&&s[1]==="n"&&Fl(s.charCodeAt(2))}function Gz(s){return/^onDynamic/.test(s)&&Fl(s.charCodeAt(9))}function zle(s,e,t){const i=r=>function(){const a=Array.prototype.slice.call(arguments,0);return e(r,a)},n=r=>function(a){return t(r,a)},o={};for(const r of s){if(Gz(r)){o[r]=n(r);continue}if(qz(r)){o[r]=t(r,void 0);continue}o[r]=i(r)}return o}function tu(s,e){var t;const i=globalThis.MonacoEnvironment;if(i!=null&&i.createTrustedTypesPolicy)try{return i.createTrustedTypesPolicy(s,e)}catch(n){Xe(n);return}try{return(t=Ht.trustedTypes)===null||t===void 0?void 0:t.createPolicy(s,e)}catch(n){Xe(n);return}}const T3=tu("defaultWorkerFactory",{createScriptURL:s=>s});function Ule(s){const e=globalThis.MonacoEnvironment;if(e){if(typeof e.getWorker=="function")return e.getWorker("workerMain.js",s);if(typeof e.getWorkerUrl=="function"){const t=e.getWorkerUrl("workerMain.js",s);return new Worker(T3?T3.createScriptURL(t):t,{name:s})}}throw new Error("You must define a function MonacoEnvironment.getWorkerUrl or MonacoEnvironment.getWorker")}function $le(s){return typeof s.then=="function"}class jle extends H{constructor(e,t,i,n,o){super(),this.id=t,this.label=i;const r=Ule(i);$le(r)?this.worker=r:this.worker=Promise.resolve(r),this.postMessage(e,[]),this.worker.then(a=>{a.onmessage=function(l){n(l.data)},a.onmessageerror=o,typeof a.addEventListener=="function"&&a.addEventListener("error",o)}),this._register(Ie(()=>{var a;(a=this.worker)===null||a===void 0||a.then(l=>{l.onmessage=null,l.onmessageerror=null,l.removeEventListener("error",o),l.terminate()}),this.worker=null}))}getId(){return this.id}postMessage(e,t){var i;(i=this.worker)===null||i===void 0||i.then(n=>{try{n.postMessage(e,t)}catch(o){Xe(o),Xe(new Error(`FAILED to post message to '${this.label}'-worker`,{cause:o}))}})}}class gx{constructor(e){this._label=e,this._webWorkerFailedBeforeError=!1}create(e,t,i){const n=++gx.LAST_WORKER_ID;if(this._webWorkerFailedBeforeError)throw this._webWorkerFailedBeforeError;return new jle(e,n,this._label||"anonymous"+n,t,o=>{uA(o),this._webWorkerFailedBeforeError=o,i(o)})}}gx.LAST_WORKER_ID=0;var Qi;(function(s){s[s.None=0]="None",s[s.Indent=1]="Indent",s[s.IndentOutdent=2]="IndentOutdent",s[s.Outdent=3]="Outdent"})(Qi||(Qi={}));class YE{constructor(e){if(this._neutralCharacter=null,this._neutralCharacterSearched=!1,this.open=e.open,this.close=e.close,this._inString=!0,this._inComment=!0,this._inRegEx=!0,Array.isArray(e.notIn))for(let t=0,i=e.notIn.length;t0&&s.getLanguageId(r-1)===n;)r--;return new qle(s,n,r,o+1,s.getStartOffset(r),s.getEndOffset(o))}class qle{constructor(e,t,i,n,o,r){this._scopedLineTokensBrand=void 0,this._actual=e,this.languageId=t,this._firstTokenIndex=i,this._lastTokenIndex=n,this.firstCharOffset=o,this._lastCharOffset=r}getLineContent(){return this._actual.getLineContent().substring(this.firstCharOffset,this._lastCharOffset)}getActualLineContentBefore(e){return this._actual.getLineContent().substring(0,this.firstCharOffset+e)}getTokenCount(){return this._lastTokenIndex-this._firstTokenIndex}findTokenIndexAtOffset(e){return this._actual.findTokenIndexAtOffset(e+this.firstCharOffset)-this._firstTokenIndex}getStandardTokenType(e){return this._actual.getStandardTokenType(e+this._firstTokenIndex)}}function Il(s){return(s&3)!==0}class u_{constructor(e){if(e.autoClosingPairs?this._autoClosingPairs=e.autoClosingPairs.map(t=>new YE(t)):e.brackets?this._autoClosingPairs=e.brackets.map(t=>new YE({open:t[0],close:t[1]})):this._autoClosingPairs=[],e.__electricCharacterSupport&&e.__electricCharacterSupport.docComment){const t=e.__electricCharacterSupport.docComment;this._autoClosingPairs.push(new YE({open:t.open,close:t.close||""}))}this._autoCloseBeforeForQuotes=typeof e.autoCloseBefore=="string"?e.autoCloseBefore:u_.DEFAULT_AUTOCLOSE_BEFORE_LANGUAGE_DEFINED_QUOTES,this._autoCloseBeforeForBrackets=typeof e.autoCloseBefore=="string"?e.autoCloseBefore:u_.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}}u_.DEFAULT_AUTOCLOSE_BEFORE_LANGUAGE_DEFINED_QUOTES=`;:.,=}])> `;u_.DEFAULT_AUTOCLOSE_BEFORE_LANGUAGE_DEFINED_BRACKETS=`'"\`;:.,=}])> `;const N3=typeof Buffer<"u";let QE;class px{static wrap(e){return N3&&!Buffer.isBuffer(e)&&(e=Buffer.from(e.buffer,e.byteOffset,e.byteLength)),new px(e)}constructor(e){this.buffer=e,this.byteLength=this.buffer.byteLength}toString(){return N3?this.buffer.toString():(QE||(QE=new TextDecoder),QE.decode(this.buffer))}}function Gle(s,e){return s[e+0]<<0>>>0|s[e+1]<<8>>>0}function Zle(s,e,t){s[t+0]=e&255,e=e>>>8,s[t+1]=e&255}function Pa(s,e){return s[e]*2**24+s[e+1]*2**16+s[e+2]*2**8+s[e+3]}function Fa(s,e,t){s[t+3]=e,e=e>>>8,s[t+2]=e,e=e>>>8,s[t+1]=e,e=e>>>8,s[t]=e}function A3(s,e){return s[e]}function M3(s,e,t){s[t]=e}let JE;function Zz(){return JE||(JE=new TextDecoder("UTF-16LE")),JE}let eI;function Xle(){return eI||(eI=new TextDecoder("UTF-16BE")),eI}let tI;function Xz(){return tI||(tI=FV()?Zz():Xle()),tI}function Yle(s,e,t){const i=new Uint16Array(s.buffer,e,t);return t>0&&(i[0]===65279||i[0]===65534)?Qle(s,e,t):Zz().decode(i)}function Qle(s,e,t){const i=[];let n=0;for(let o=0;o =this._capacity){this._flushBuffer(),this._completedStrings[this._completedStrings.length]=e;return}for(let i=0;i [r[0].toLowerCase(),r[1].toLowerCase()]);const t=[];for(let r=0;r {const[l,d]=r,[c,u]=a;return l===c||l===u||d===c||d===u},n=(r,a)=>{const l=Math.min(r,a),d=Math.max(r,a);for(let c=0;c 0&&o.push({open:a,close:l})}return o}class ede{constructor(e,t){this._richEditBracketsBrand=void 0;const i=Jle(t);this.brackets=i.map((n,o)=>new KS(e,o,n.open,n.close,tde(n.open,n.close,i,o),ide(n.open,n.close,i,o))),this.forwardRegex=nde(this.brackets),this.reversedRegex=sde(this.brackets),this.textIsBracket={},this.textIsOpenBracket={},this.maxBracketLength=0;for(const n of this.brackets){for(const o of n.open)this.textIsBracket[o]=n,this.textIsOpenBracket[o]=!0,this.maxBracketLength=Math.max(this.maxBracketLength,o.length);for(const o of n.close)this.textIsBracket[o]=n,this.textIsOpenBracket[o]=!1,this.maxBracketLength=Math.max(this.maxBracketLength,o.length)}}}function Yz(s,e,t,i){for(let n=0,o=e.length;n =0&&i.push(a);for(const a of r.close)a.indexOf(s)>=0&&i.push(a)}}function Qz(s,e){return s.length-e.length}function mx(s){if(s.length<=1)return s;const e=[],t=new Set;for(const i of s)t.has(i)||(e.push(i),t.add(i));return e}function tde(s,e,t,i){let n=[];n=n.concat(s),n=n.concat(e);for(let o=0,r=n.length;o =0;r--)n[o++]=i.charCodeAt(r);return Xz().decode(n)}let e=null,t=null;return function(n){return e!==n&&(e=n,t=s(e)),t}}();class Qr{static _findPrevBracketInText(e,t,i,n){const o=i.match(e);if(!o)return null;const r=i.length-(o.index||0),a=o[0].length,l=n+r;return new x(t,l-a+1,t,l+1)}static findPrevBracketInRange(e,t,i,n,o){const a=mF(i).substring(i.length-o,i.length-n);return this._findPrevBracketInText(e,t,a,n)}static findNextBracketInText(e,t,i,n){const o=i.match(e);if(!o)return null;const r=o.index||0,a=o[0].length;if(a===0)return null;const l=n+r;return new x(t,l+1,t,l+1+a)}static findNextBracketInRange(e,t,i,n,o){const r=i.substring(n,o);return this.findNextBracketInText(e,t,r,n)}}class rde{constructor(e){this._richEditBrackets=e}getElectricCharacters(){const e=[];if(this._richEditBrackets)for(const t of this._richEditBrackets.brackets)for(const i of t.close){const n=i.charAt(i.length-1);e.push(n)}return Wc(e)}onElectricCharacter(e,t,i){if(!this._richEditBrackets||this._richEditBrackets.brackets.length===0)return null;const n=t.findTokenIndexAtOffset(i-1);if(Il(t.getStandardTokenType(n)))return null;const o=this._richEditBrackets.reversedRegex,r=t.getLineContent().substring(0,i-1)+e,a=Qr.findPrevBracketInRange(o,1,r,0,r.length);if(!a)return null;const l=r.substring(a.startColumn-1,a.endColumn-1).toLowerCase();if(this._richEditBrackets.textIsOpenBracket[l])return null;const c=t.getActualLineContentBefore(a.startColumn-1);return/^\s*$/.test(c)?{matchOpenBracket:l}:null}}function pw(s){return s.global&&(s.lastIndex=0),!0}class ade{constructor(e){this._indentationRules=e}shouldIncrease(e){return!!(this._indentationRules&&this._indentationRules.increaseIndentPattern&&pw(this._indentationRules.increaseIndentPattern)&&this._indentationRules.increaseIndentPattern.test(e))}shouldDecrease(e){return!!(this._indentationRules&&this._indentationRules.decreaseIndentPattern&&pw(this._indentationRules.decreaseIndentPattern)&&this._indentationRules.decreaseIndentPattern.test(e))}shouldIndentNextLine(e){return!!(this._indentationRules&&this._indentationRules.indentNextLinePattern&&pw(this._indentationRules.indentNextLinePattern)&&this._indentationRules.indentNextLinePattern.test(e))}shouldIgnore(e){return!!(this._indentationRules&&this._indentationRules.unIndentedLinePattern&&pw(this._indentationRules.unIndentedLinePattern)&&this._indentationRules.unIndentedLinePattern.test(e))}getIndentMetadata(e){let t=0;return this.shouldIncrease(e)&&(t+=1),this.shouldDecrease(e)&&(t+=2),this.shouldIndentNextLine(e)&&(t+=4),this.shouldIgnore(e)&&(t+=8),t}}class im{constructor(e){e=e||{},e.brackets=e.brackets||[["(",")"],["{","}"],["[","]"]],this._brackets=[],e.brackets.forEach(t=>{const i=im._createOpenBracketRegExp(t[0]),n=im._createCloseBracketRegExp(t[1]);i&&n&&this._brackets.push({open:t[0],openRegExp:i,close:t[1],closeRegExp:n})}),this._regExpRules=e.onEnterRules||[]}onEnter(e,t,i,n){if(e>=3)for(let o=0,r=this._regExpRules.length;o d.reg?(d.reg.lastIndex=0,d.reg.test(d.text)):!0))return a.action}if(e>=2&&i.length>0&&n.length>0)for(let o=0,r=this._brackets.length;o =2&&i.length>0){for(let o=0,r=this._brackets.length;o "u"?t:o}function dde(s){return s.replace(/[\[\]]/g,"")}const vi=ut("languageService");class Ol{constructor(e,t=[],i=!1){this.ctor=e,this.staticArguments=t,this.supportsDelayedInstantiation=i}}const tU=[];function mt(s,e,t){e instanceof Ol||(e=new Ol(e,[],!!t)),tU.push([s,e])}function P3(){return tU}const Ti=Object.freeze({text:"text/plain",binary:"application/octet-stream",unknown:"application/unknown",markdown:"text/markdown",latex:"text/latex",uriList:"text/uri-list"}),vx={JSONContribution:"base.contributions.json"};function cde(s){return s.length>0&&s.charAt(s.length-1)==="#"?s.substring(0,s.length-1):s}class ude{constructor(){this._onDidChangeSchema=new B,this.schemasById={}}registerSchema(e,t){this.schemasById[cde(e)]=t,this._onDidChangeSchema.fire(e)}notifySchemaChanged(e){this._onDidChangeSchema.fire(e)}}const hde=new ude;Ji.add(vx.JSONContribution,hde);const pl={Configuration:"base.contributions.configuration"},mw="vscode://schemas/settings/resourceLanguage",F3=Ji.as(vx.JSONContribution);class gde{constructor(){this.overrideIdentifiers=new Set,this._onDidSchemaChange=new B,this._onDidUpdateConfiguration=new B,this.configurationDefaultsOverrides=new Map,this.defaultLanguageConfigurationOverridesNode={id:"defaultOverrides",title:p("defaultLanguageConfigurationOverrides.title","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={},F3.registerSchema(mw,this.resourceLanguageSettingsSchema),this.registerOverridePropertyPatternKey()}registerConfiguration(e,t=!0){this.registerConfigurations([e],t)}registerConfigurations(e,t=!0){const i=new Set;this.doRegisterConfigurations(e,t,i),F3.registerSchema(mw,this.resourceLanguageSettingsSchema),this._onDidSchemaChange.fire(),this._onDidUpdateConfiguration.fire({properties:i})}registerDefaultConfigurations(e){const t=new Set;this.doRegisterDefaultConfigurations(e,t),this._onDidSchemaChange.fire(),this._onDidUpdateConfiguration.fire({properties:t,defaultsOverrides:!0})}doRegisterDefaultConfigurations(e,t){var i;const n=[];for(const{overrides:o,source:r}of e)for(const a in o)if(t.add(a),Th.test(a)){const l=this.configurationDefaultsOverrides.get(a),d=(i=l==null?void 0:l.valuesSources)!==null&&i!==void 0?i:new Map;if(r)for(const g of Object.keys(o[a]))d.set(g,r);const c={...(l==null?void 0:l.value)||{},...o[a]};this.configurationDefaultsOverrides.set(a,{source:r,value:c,valuesSources:d});const u=dde(a),h={type:"object",default:c,description:p("defaultLanguageConfiguration.description","Configure settings to be overridden for the {0} language.",u),$ref:mw,defaultDefaultValue:c,source:lo(r)?void 0:r,defaultValueSource:r};n.push(...qS(a)),this.configurationProperties[a]=h,this.defaultLanguageConfigurationOverridesNode.properties[a]=h}else{this.configurationDefaultsOverrides.set(a,{value:o[a],source:r});const l=this.configurationProperties[a];l&&(this.updatePropertyDefaultValue(a,l),this.updateSchema(a,l))}this.doRegisterOverrideIdentifiers(n)}registerOverrideIdentifiers(e){this.doRegisterOverrideIdentifiers(e),this._onDidSchemaChange.fire()}doRegisterOverrideIdentifiers(e){for(const t of e)this.overrideIdentifiers.add(t);this.updateOverridePropertyPatternKey()}doRegisterConfigurations(e,t,i){e.forEach(n=>{this.validateAndRegisterProperties(n,t,n.extensionInfo,n.restrictedProperties,void 0,i),this.configurationContributors.push(n),this.registerJSONConfiguration(n)})}validateAndRegisterProperties(e,t=!0,i,n,o=3,r){var a;o=Go(e.scope)?o:e.scope;const l=e.properties;if(l)for(const c in l){const u=l[c];if(t&&mde(c,u)){delete l[c];continue}if(u.source=i,u.defaultDefaultValue=l[c].default,this.updatePropertyDefaultValue(c,u),Th.test(c)?u.scope=void 0:(u.scope=Go(u.scope)?o:u.scope,u.restricted=Go(u.restricted)?!!(n!=null&&n.includes(c)):u.restricted),l[c].hasOwnProperty("included")&&!l[c].included){this.excludedConfigurationProperties[c]=l[c],delete l[c];continue}else this.configurationProperties[c]=l[c],!((a=l[c].policy)===null||a===void 0)&&a.name&&this.policyConfigurations.set(l[c].policy.name,c);!l[c].deprecationMessage&&l[c].markdownDeprecationMessage&&(l[c].deprecationMessage=l[c].markdownDeprecationMessage),r.add(c)}const d=e.allOf;if(d)for(const c of d)this.validateAndRegisterProperties(c,t,i,n,o,r)}getConfigurationProperties(){return this.configurationProperties}getPolicyConfigurations(){return this.policyConfigurations}registerJSONConfiguration(e){const t=i=>{const n=i.properties;if(n)for(const r in n)this.updateSchema(r,n[r]);const o=i.allOf;o==null||o.forEach(t)};t(e)}updateSchema(e,t){switch(t.scope){case 1:break;case 2:break;case 6:break;case 3:break;case 4:break;case 5:this.resourceLanguageSettingsSchema.properties[e]=t;break}}updateOverridePropertyPatternKey(){for(const e of this.overrideIdentifiers.values()){const t=`[${e}]`,i={type:"object",description:p("overrideSettings.defaultDescription","Configure editor settings to be overridden for a language."),errorMessage:p("overrideSettings.errorMessage","This setting does not support per-language configuration."),$ref:mw};this.updatePropertyDefaultValue(t,i)}}registerOverridePropertyPatternKey(){p("overrideSettings.defaultDescription","Configure editor settings to be overridden for a language."),p("overrideSettings.errorMessage","This setting does not support per-language configuration."),this._onDidSchemaChange.fire()}updatePropertyDefaultValue(e,t){const i=this.configurationDefaultsOverrides.get(e);let n=i==null?void 0:i.value,o=i==null?void 0:i.source;oo(n)&&(n=t.defaultDefaultValue,o=void 0),oo(n)&&(n=pde(t.type)),t.default=n,t.defaultValueSource=o}}const iU="\\[([^\\]]+)\\]",O3=new RegExp(iU,"g"),fde=`^(${iU})+$`,Th=new RegExp(fde);function qS(s){const e=[];if(Th.test(s)){let t=O3.exec(s);for(;t!=null&&t.length;){const i=t[1].trim();i&&e.push(i),t=O3.exec(s)}}return Wc(e)}function pde(s){switch(Array.isArray(s)?s[0]:s){case"boolean":return!1;case"integer":case"number":return 0;case"string":return"";case"array":return[];case"object":return{};default:return null}}const Hy=new gde;Ji.add(pl.Configuration,Hy);function mde(s,e){var t,i,n,o;return s.trim()?Th.test(s)?p("config.property.languageDefault","Cannot register '{0}'. This matches property pattern '\\\\[.*\\\\]$' for describing language specific editor settings. Use 'configurationDefaults' contribution.",s):Hy.getConfigurationProperties()[s]!==void 0?p("config.property.duplicate","Cannot register '{0}'. This property is already registered.",s):!((t=e.policy)===null||t===void 0)&&t.name&&Hy.getPolicyConfigurations().get((i=e.policy)===null||i===void 0?void 0:i.name)!==void 0?p("config.policy.duplicate","Cannot register '{0}'. The associated policy {1} is already registered with {2}.",s,(n=e.policy)===null||n===void 0?void 0:n.name,Hy.getPolicyConfigurations().get((o=e.policy)===null||o===void 0?void 0:o.name)):null:p("config.property.empty","Cannot register an empty property")}const _de={ModesRegistry:"editor.modesRegistry"};class vde{constructor(){this._onDidChangeLanguages=new B,this.onDidChangeLanguages=this._onDidChangeLanguages.event,this._languages=[]}registerLanguage(e){return this._languages.push(e),this._onDidChangeLanguages.fire(void 0),{dispose:()=>{for(let t=0,i=this._languages.length;t{const l=new Set;return{info:new wde(this,a,l),closing:l}}),o=new r3(a=>{const l=new Set,d=new Set;return{info:new yde(this,a,l,d),opening:l,openingColorized:d}});for(const[a,l]of i){const d=n.get(a),c=o.get(l);d.closing.add(c.info),c.opening.add(d.info)}const r=t.colorizedBracketPairs?B3(t.colorizedBracketPairs):i.filter(a=>!(a[0]==="<"&&a[1]===">"));for(const[a,l]of r){const d=n.get(a),c=o.get(l);d.closing.add(c.info),c.openingColorized.add(d.info),c.opening.add(d.info)}this._openingBrackets=new Map([...n.cachedValues].map(([a,l])=>[a,l.info])),this._closingBrackets=new Map([...o.cachedValues].map(([a,l])=>[a,l.info]))}get openingBrackets(){return[...this._openingBrackets.values()]}get closingBrackets(){return[...this._closingBrackets.values()]}getOpeningBracketInfo(e){return this._openingBrackets.get(e)}getClosingBracketInfo(e){return this._closingBrackets.get(e)}getBracketInfo(e){return this.getOpeningBracketInfo(e)||this.getClosingBracketInfo(e)}}function B3(s){return s.filter(([e,t])=>e!==""&&t!=="")}class nU{constructor(e,t){this.config=e,this.bracketText=t}get languageId(){return this.config.languageId}}class wde extends nU{constructor(e,t,i){super(e,t),this.openedBrackets=i,this.isOpeningBracket=!0}}class yde extends nU{constructor(e,t,i,n){super(e,t),this.openingBrackets=i,this.openingColorizedBrackets=n,this.isOpeningBracket=!1}closes(e){return e.config!==this.config?!1:this.openingBrackets.has(e)}closesColorized(e){return e.config!==this.config?!1:this.openingColorizedBrackets.has(e)}getOpeningBrackets(){return[...this.openingBrackets]}}var Sde=function(s,e,t,i){var n=arguments.length,o=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(o=(n<3?r(o):n>3?r(e,t,o):r(e,t))||o);return n>3&&o&&Object.defineProperty(e,t,o),o},W3=function(s,e){return function(t,i){e(t,i,s)}};class iI{constructor(e){this.languageId=e}affects(e){return this.languageId?this.languageId===e:!0}}const Yt=ut("languageConfigurationService");let gA=class extends H{constructor(e,t){super(),this.configurationService=e,this.languageService=t,this._registry=this._register(new kde),this.onDidChangeEmitter=this._register(new B),this.onDidChange=this.onDidChangeEmitter.event,this.configurations=new Map;const i=new Set(Object.values(fA));this._register(this.configurationService.onDidChangeConfiguration(n=>{const o=n.change.keys.some(a=>i.has(a)),r=n.change.overrides.filter(([a,l])=>l.some(d=>i.has(d))).map(([a])=>a);if(o)this.configurations.clear(),this.onDidChangeEmitter.fire(new iI(void 0));else for(const a of r)this.languageService.isRegisteredLanguageId(a)&&(this.configurations.delete(a),this.onDidChangeEmitter.fire(new iI(a)))})),this._register(this._registry.onDidChange(n=>{this.configurations.delete(n.languageId),this.onDidChangeEmitter.fire(new iI(n.languageId))}))}register(e,t,i){return this._registry.register(e,t,i)}getLanguageConfiguration(e){let t=this.configurations.get(e);return t||(t=Dde(e,this._registry,this.configurationService,this.languageService),this.configurations.set(e,t)),t}};gA=Sde([W3(0,rt),W3(1,vi)],gA);function Dde(s,e,t,i){let n=e.getLanguageConfiguration(s);if(!n){if(!i.isRegisteredLanguageId(s))return new Nm(s,{});n=new Nm(s,{})}const o=Lde(n.languageId,t),r=oU([n.underlyingConfig,o]);return new Nm(n.languageId,r)}const fA={brackets:"editor.language.brackets",colorizedBracketPairs:"editor.language.colorizedBracketPairs"};function Lde(s,e){const t=e.getValue(fA.brackets,{overrideIdentifier:s}),i=e.getValue(fA.colorizedBracketPairs,{overrideIdentifier:s});return{brackets:H3(t),colorizedBracketPairs:H3(i)}}function H3(s){if(Array.isArray(s))return s.map(e=>{if(!(!Array.isArray(e)||e.length!==2))return[e[0],e[1]]}).filter(e=>!!e)}function sU(s,e,t){const i=s.getLineContent(e);let n=Zt(i);return n.length>t-1&&(n=n.substring(0,t-1)),n}function Tm(s,e,t){s.tokenization.forceTokenization(e);const i=s.tokenization.getLineTokens(e),n=typeof t>"u"?s.getLineMaxColumn(e)-1:t-1;return fx(i,n)}class xde{constructor(e){this.languageId=e,this._resolved=null,this._entries=[],this._order=0,this._resolved=null}register(e,t){const i=new V3(e,t,++this._order);return this._entries.push(i),this._resolved=null,Ie(()=>{for(let n=0;n e.configuration)))}}function oU(s){let e={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 t of s)e={comments:t.comments||e.comments,brackets:t.brackets||e.brackets,wordPattern:t.wordPattern||e.wordPattern,indentationRules:t.indentationRules||e.indentationRules,onEnterRules:t.onEnterRules||e.onEnterRules,autoClosingPairs:t.autoClosingPairs||e.autoClosingPairs,surroundingPairs:t.surroundingPairs||e.surroundingPairs,autoCloseBefore:t.autoCloseBefore||e.autoCloseBefore,folding:t.folding||e.folding,colorizedBracketPairs:t.colorizedBracketPairs||e.colorizedBracketPairs,__electricCharacterSupport:t.__electricCharacterSupport||e.__electricCharacterSupport};return e}class V3{constructor(e,t,i){this.configuration=e,this.priority=t,this.order=i}static cmp(e,t){return e.priority===t.priority?e.order-t.order:e.priority-t.priority}}class z3{constructor(e){this.languageId=e}}class kde extends H{constructor(){super(),this._entries=new Map,this._onDidChange=this._register(new B),this.onDidChange=this._onDidChange.event,this._register(this.register(ir,{brackets:[["(",")"],["[","]"],["{","}"]],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"<",close:">"},{open:'"',close:'"'},{open:"'",close:"'"},{open:"`",close:"`"}],colorizedBracketPairs:[],folding:{offSide:!0}},0))}register(e,t,i=0){let n=this._entries.get(e);n||(n=new xde(e),this._entries.set(e,n));const o=n.register(t,i);return this._onDidChange.fire(new z3(e)),Ie(()=>{o.dispose(),this._onDidChange.fire(new z3(e))})}getLanguageConfiguration(e){const t=this._entries.get(e);return(t==null?void 0:t.getResolvedConfiguration())||null}}class Nm{constructor(e,t){this.languageId=e,this.underlyingConfig=t,this._brackets=null,this._electricCharacter=null,this._onEnterSupport=this.underlyingConfig.brackets||this.underlyingConfig.indentationRules||this.underlyingConfig.onEnterRules?new im(this.underlyingConfig):null,this.comments=Nm._handleComments(this.underlyingConfig),this.characterPair=new u_(this.underlyingConfig),this.wordDefinition=this.underlyingConfig.wordPattern||VP,this.indentationRules=this.underlyingConfig.indentationRules,this.underlyingConfig.indentationRules?this.indentRulesSupport=new ade(this.underlyingConfig.indentationRules):this.indentRulesSupport=null,this.foldingRules=this.underlyingConfig.folding||{},this.bracketsNew=new Cde(e,this.underlyingConfig)}getWordDefinition(){return zP(this.wordDefinition)}get brackets(){return!this._brackets&&this.underlyingConfig.brackets&&(this._brackets=new ede(this.languageId,this.underlyingConfig.brackets)),this._brackets}get electricCharacter(){return this._electricCharacter||(this._electricCharacter=new rde(this.brackets)),this._electricCharacter}onEnter(e,t,i,n){return this._onEnterSupport?this._onEnterSupport.onEnter(e,t,i,n):null}getAutoClosingPairs(){return new Kle(this.characterPair.getAutoClosingPairs())}getAutoCloseBeforeSet(e){return this.characterPair.getAutoCloseBeforeSet(e)}getSurroundingPairs(){return this.characterPair.getSurroundingPairs()}static _handleComments(e){const t=e.comments;if(!t)return null;const i={};if(t.lineComment&&(i.lineCommentToken=t.lineComment),t.blockComment){const[n,o]=t.blockComment;i.blockCommentStartToken=n,i.blockCommentEndToken=o}return i}}mt(Yt,gA,1);class Cu{constructor(e,t,i,n){this.originalStart=e,this.originalLength=t,this.modifiedStart=i,this.modifiedLength=n}getOriginalEnd(){return this.originalStart+this.originalLength}getModifiedEnd(){return this.modifiedStart+this.modifiedLength}}class U3{constructor(e){this.source=e}getElements(){const e=this.source,t=new Int32Array(e.length);for(let i=0,n=e.length;i 0||this.m_modifiedCount>0)&&this.m_changes.push(new Cu(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,t){this.m_originalStart=Math.min(this.m_originalStart,e),this.m_modifiedStart=Math.min(this.m_modifiedStart,t),this.m_originalCount++}AddModifiedElement(e,t){this.m_originalStart=Math.min(this.m_originalStart,e),this.m_modifiedStart=Math.min(this.m_modifiedStart,t),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 zl{constructor(e,t,i=null){this.ContinueProcessingPredicate=i,this._originalSequence=e,this._modifiedSequence=t;const[n,o,r]=zl._getElements(e),[a,l,d]=zl._getElements(t);this._hasStrings=r&&d,this._originalStringElements=n,this._originalElementsOrHash=o,this._modifiedStringElements=a,this._modifiedElementsOrHash=l,this.m_forwardHistory=[],this.m_reverseHistory=[]}static _isStringArray(e){return e.length>0&&typeof e[0]=="string"}static _getElements(e){const t=e.getElements();if(zl._isStringArray(t)){const i=new Int32Array(t.length);for(let n=0,o=t.length;n =e&&n>=i&&this.ElementsAreEqual(t,n);)t--,n--;if(e>t||i>n){let u;return i<=n?(Lp.Assert(e===t+1,"originalStart should only be one more than originalEnd"),u=[new Cu(e,0,i,n-i+1)]):e<=t?(Lp.Assert(i===n+1,"modifiedStart should only be one more than modifiedEnd"),u=[new Cu(e,t-e+1,i,0)]):(Lp.Assert(e===t+1,"originalStart should only be one more than originalEnd"),Lp.Assert(i===n+1,"modifiedStart should only be one more than modifiedEnd"),u=[]),u}const r=[0],a=[0],l=this.ComputeRecursionPoint(e,t,i,n,r,a,o),d=r[0],c=a[0];if(l!==null)return l;if(!o[0]){const u=this.ComputeDiffRecursive(e,d,i,c,o);let h=[];return o[0]?h=[new Cu(d+1,t-(d+1)+1,c+1,n-(c+1)+1)]:h=this.ComputeDiffRecursive(d+1,t,c+1,n,o),this.ConcatenateChanges(u,h)}return[new Cu(e,t-e+1,i,n-i+1)]}WALKTRACE(e,t,i,n,o,r,a,l,d,c,u,h,g,f,m,_,v,b){let C=null,w=null,y=new $3,D=t,L=i,k=g[0]-_[0]-n,I=-1073741824,O=this.m_forwardHistory.length-1;do{const R=k+e;R===D||R =0&&(d=this.m_forwardHistory[O],e=d[0],D=1,L=d.length-1)}while(--O>=-1);if(C=y.getReverseChanges(),b[0]){let R=g[0]+1,P=_[0]+1;if(C!==null&&C.length>0){const F=C[C.length-1];R=Math.max(R,F.getOriginalEnd()),P=Math.max(P,F.getModifiedEnd())}w=[new Cu(R,h-R+1,P,m-P+1)]}else{y=new $3,D=r,L=a,k=g[0]-_[0]-l,I=1073741824,O=v?this.m_reverseHistory.length-1:this.m_reverseHistory.length-2;do{const R=k+o;R===D||R =c[R+1]?(u=c[R+1]-1,f=u-k-l,u>I&&y.MarkNextChange(),I=u+1,y.AddOriginalElement(u+1,f+1),k=R+1-o):(u=c[R-1],f=u-k-l,u>I&&y.MarkNextChange(),I=u,y.AddModifiedElement(u+1,f+1),k=R-1-o),O>=0&&(c=this.m_reverseHistory[O],o=c[0],D=1,L=c.length-1)}while(--O>=-1);w=y.getChanges()}return this.ConcatenateChanges(C,w)}ComputeRecursionPoint(e,t,i,n,o,r,a){let l=0,d=0,c=0,u=0,h=0,g=0;e--,i--,o[0]=0,r[0]=0,this.m_forwardHistory=[],this.m_reverseHistory=[];const f=t-e+(n-i),m=f+1,_=new Int32Array(m),v=new Int32Array(m),b=n-i,C=t-e,w=e-i,y=t-n,L=(C-b)%2===0;_[b]=e,v[C]=t,a[0]=!1;for(let k=1;k<=f/2+1;k++){let I=0,O=0;c=this.ClipDiagonalBound(b-k,k,b,m),u=this.ClipDiagonalBound(b+k,k,b,m);for(let P=c;P<=u;P+=2){P===c||PI+O&&(I=l,O=d),!L&&Math.abs(P-C)<=k-1&&l>=v[P])return o[0]=l,r[0]=d,F<=v[P]&&k<=1448?this.WALKTRACE(b,c,u,w,C,h,g,y,_,v,l,t,o,d,n,r,L,a):null}const R=(I-e+(O-i)-k)/2;if(this.ContinueProcessingPredicate!==null&&!this.ContinueProcessingPredicate(I,R))return a[0]=!0,o[0]=I,r[0]=O,R>0&&k<=1448?this.WALKTRACE(b,c,u,w,C,h,g,y,_,v,l,t,o,d,n,r,L,a):(e++,i++,[new Cu(e,t-e+1,i,n-i+1)]);h=this.ClipDiagonalBound(C-k,k,C,m),g=this.ClipDiagonalBound(C+k,k,C,m);for(let P=h;P<=g;P+=2){P===h||P =v[P+1]?l=v[P+1]-1:l=v[P-1],d=l-(P-C)-y;const F=l;for(;l>e&&d>i&&this.ElementsAreEqual(l,d);)l--,d--;if(v[P]=l,L&&Math.abs(P-b)<=k&&l<=_[P])return o[0]=l,r[0]=d,F>=_[P]&&k<=1448?this.WALKTRACE(b,c,u,w,C,h,g,y,_,v,l,t,o,d,n,r,L,a):null}if(k<=1447){let P=new Int32Array(u-c+2);P[0]=b-c+1,xp.Copy2(_,c,P,1,u-c+1),this.m_forwardHistory.push(P),P=new Int32Array(g-h+2),P[0]=C-h+1,xp.Copy2(v,h,P,1,g-h+1),this.m_reverseHistory.push(P)}}return this.WALKTRACE(b,c,u,w,C,h,g,y,_,v,l,t,o,d,n,r,L,a)}PrettifyChanges(e){for(let t=0;t 0,a=i.modifiedLength>0;for(;i.originalStart+i.originalLength =0;t--){const i=e[t];let n=0,o=0;if(t>0){const u=e[t-1];n=u.originalStart+u.originalLength,o=u.modifiedStart+u.modifiedLength}const r=i.originalLength>0,a=i.modifiedLength>0;let l=0,d=this._boundaryScore(i.originalStart,i.originalLength,i.modifiedStart,i.modifiedLength);for(let u=1;;u++){const h=i.originalStart-u,g=i.modifiedStart-u;if(h d&&(d=m,l=u)}i.originalStart-=l,i.modifiedStart-=l;const c=[null];if(t>0&&this.ChangesOverlap(e[t-1],e[t],c)){e[t-1]=c[0],e.splice(t,1),t++;continue}}if(this._hasStrings)for(let t=1,i=e.length;t0&&g>l&&(l=g,d=u,c=h)}return l>0?[d,c]:null}_contiguousSequenceScore(e,t,i){let n=0;for(let o=0;o=this._originalElementsOrHash.length-1?!0:this._hasStrings&&/^\s*$/.test(this._originalStringElements[e])}_OriginalRegionIsBoundary(e,t){if(this._OriginalIsBoundary(e)||this._OriginalIsBoundary(e-1))return!0;if(t>0){const i=e+t;if(this._OriginalIsBoundary(i-1)||this._OriginalIsBoundary(i))return!0}return!1}_ModifiedIsBoundary(e){return e<=0||e>=this._modifiedElementsOrHash.length-1?!0:this._hasStrings&&/^\s*$/.test(this._modifiedStringElements[e])}_ModifiedRegionIsBoundary(e,t){if(this._ModifiedIsBoundary(e)||this._ModifiedIsBoundary(e-1))return!0;if(t>0){const i=e+t;if(this._ModifiedIsBoundary(i-1)||this._ModifiedIsBoundary(i))return!0}return!1}_boundaryScore(e,t,i,n){const o=this._OriginalRegionIsBoundary(e,t)?1:0,r=this._ModifiedRegionIsBoundary(i,n)?1:0;return o+r}ConcatenateChanges(e,t){const i=[];if(e.length===0||t.length===0)return t.length>0?t:e;if(this.ChangesOverlap(e[e.length-1],t[0],i)){const n=new Array(e.length+t.length-1);return xp.Copy(e,0,n,0,e.length-1),n[e.length-1]=i[0],xp.Copy(t,1,n,e.length,t.length-1),n}else{const n=new Array(e.length+t.length);return xp.Copy(e,0,n,0,e.length),xp.Copy(t,0,n,e.length,t.length),n}}ChangesOverlap(e,t,i){if(Lp.Assert(e.originalStart<=t.originalStart,"Left change is not less than or equal to right change"),Lp.Assert(e.modifiedStart<=t.modifiedStart,"Left change is not less than or equal to right change"),e.originalStart+e.originalLength>=t.originalStart||e.modifiedStart+e.modifiedLength>=t.modifiedStart){const n=e.originalStart;let o=e.originalLength;const r=e.modifiedStart;let a=e.modifiedLength;return e.originalStart+e.originalLength>=t.originalStart&&(o=t.originalStart+t.originalLength-e.originalStart),e.modifiedStart+e.modifiedLength>=t.modifiedStart&&(a=t.modifiedStart+t.modifiedLength-e.modifiedStart),i[0]=new Cu(n,o,r,a),!0}else return i[0]=null,!1}ClipDiagonalBound(e,t,i,n){if(e>=0&&e 255?255:s|0}function kp(s){return s<0?0:s>4294967295?4294967295:s|0}class Ide{constructor(e){this.values=e,this.prefixSum=new Uint32Array(e.length),this.prefixSumValidIndex=new Int32Array(1),this.prefixSumValidIndex[0]=-1}insertValues(e,t){e=kp(e);const i=this.values,n=this.prefixSum,o=t.length;return o===0?!1:(this.values=new Uint32Array(i.length+o),this.values.set(i.subarray(0,e),0),this.values.set(i.subarray(e),e+o),this.values.set(t,e),e-1 =0&&this.prefixSum.set(n.subarray(0,this.prefixSumValidIndex[0]+1)),!0)}setValue(e,t){return e=kp(e),t=kp(t),this.values[e]===t?!1:(this.values[e]=t,e-1 =i.length)return!1;const o=i.length-e;return t>=o&&(t=o),t===0?!1:(this.values=new Uint32Array(i.length-t),this.values.set(i.subarray(0,e),0),this.values.set(i.subarray(e+t),e),this.prefixSum=new Uint32Array(this.values.length),e-1 =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(e){return e<0?0:(e=kp(e),this._getPrefixSum(e))}_getPrefixSum(e){if(e<=this.prefixSumValidIndex[0])return this.prefixSum[e];let t=this.prefixSumValidIndex[0]+1;t===0&&(this.prefixSum[0]=this.values[0],t++),e>=this.values.length&&(e=this.values.length-1);for(let i=t;i<=e;i++)this.prefixSum[i]=this.prefixSum[i-1]+this.values[i];return this.prefixSumValidIndex[0]=Math.max(this.prefixSumValidIndex[0],e),this.prefixSum[e]}getIndexOf(e){e=Math.floor(e),this.getTotalSum();let t=0,i=this.values.length-1,n=0,o=0,r=0;for(;t<=i;)if(n=t+(i-t)/2|0,o=this.prefixSum[n],r=o-this.values[n],e =o)t=n+1;else break;return new rU(n,e-r)}}class Tde{constructor(e){this._values=e,this._isValid=!1,this._validEndIndex=-1,this._prefixSum=[],this._indexBySum=[]}getTotalSum(){return this._ensureValid(),this._indexBySum.length}getPrefixSum(e){return this._ensureValid(),e===0?0:this._prefixSum[e-1]}getIndexOf(e){this._ensureValid();const t=this._indexBySum[e],i=t>0?this._prefixSum[t-1]:0;return new rU(t,e-i)}removeValues(e,t){this._values.splice(e,t),this._invalidate(e)}insertValues(e,t){this._values=zL(this._values,e,t),this._invalidate(e)}_invalidate(e){this._isValid=!1,this._validEndIndex=Math.min(this._validEndIndex,e-1)}_ensureValid(){if(!this._isValid){for(let e=this._validEndIndex+1,t=this._values.length;e 0?this._prefixSum[e-1]:0;this._prefixSum[e]=n+i;for(let o=0;o=0&&e<256?this._asciiMap[e]=i:this._map.set(e,i)}get(e){return e>=0&&e<256?this._asciiMap[e]:this._map.get(e)||this._defaultValue}clear(){this._asciiMap.fill(this._defaultValue),this._map.clear()}}class ZS{constructor(){this._actual=new d0(0)}add(e){this._actual.set(e,1)}has(e){return this._actual.get(e)===1}clear(){return this._actual.clear()}}class Ade{constructor(e,t,i){const n=new Uint8Array(e*t);for(let o=0,r=e*t;o t&&(t=l),a>i&&(i=a),d>i&&(i=d)}t++,i++;const n=new Ade(i,t,0);for(let o=0,r=e.length;o =this._maxCharCode?0:this._states.get(e,t)}}let nI=null;function Rde(){return nI===null&&(nI=new Mde([[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]])),nI}let O0=null;function Pde(){if(O0===null){O0=new d0(0);const s=` <>'"、。。、,.:;‘〈「『〔([{「」}])〕』」〉’`~…`;for(let t=0;t n);if(n>0){const a=t.charCodeAt(n-1),l=t.charCodeAt(r);(a===40&&l===41||a===91&&l===93||a===123&&l===125)&&r--}return{range:{startLineNumber:i,startColumn:n+1,endLineNumber:i,endColumn:r+2},url:t.substring(n,r+1)}}static computeLinks(e,t=Rde()){const i=Pde(),n=[];for(let o=1,r=e.getLineCount();o<=r;o++){const a=e.getLineContent(o),l=a.length;let d=0,c=0,u=0,h=1,g=!1,f=!1,m=!1,_=!1;for(;d =0?(n+=i?1:-1,n<0?n=e.length-1:n%=e.length,e[n]):null}}pA.INSTANCE=new pA;var j3,K3;class Ode{constructor(e,t){this.uri=e,this.value=t}}function Bde(s){return Array.isArray(s)}class Wi{constructor(e,t){if(this[j3]="ResourceMap",e instanceof Wi)this.map=new Map(e.map),this.toKey=t??Wi.defaultToKey;else if(Bde(e)){this.map=new Map,this.toKey=t??Wi.defaultToKey;for(const[i,n]of e)this.set(i,n)}else this.map=new Map,this.toKey=e??Wi.defaultToKey}set(e,t){return this.map.set(this.toKey(e),new Ode(e,t)),this}get(e){var t;return(t=this.map.get(this.toKey(e)))===null||t===void 0?void 0:t.value}has(e){return this.map.has(this.toKey(e))}get size(){return this.map.size}clear(){this.map.clear()}delete(e){return this.map.delete(this.toKey(e))}forEach(e,t){typeof t<"u"&&(e=e.bind(t));for(const[i,n]of this.map)e(n.value,n.uri,this)}*values(){for(const e of this.map.values())yield e.value}*keys(){for(const e of this.map.values())yield e.uri}*entries(){for(const e of this.map.values())yield[e.uri,e.value]}*[(j3=Symbol.toStringTag,Symbol.iterator)](){for(const[,e]of this.map)yield[e.uri,e.value]}}Wi.defaultToKey=s=>s.toString();class Wde{constructor(){this[K3]="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(){var e;return(e=this._head)===null||e===void 0?void 0:e.value}get last(){var e;return(e=this._tail)===null||e===void 0?void 0:e.value}has(e){return this._map.has(e)}get(e,t=0){const i=this._map.get(e);if(i)return t!==0&&this.touch(i,t),i.value}set(e,t,i=0){let n=this._map.get(e);if(n)n.value=t,i!==0&&this.touch(n,i);else{switch(n={key:e,value:t,next:void 0,previous:void 0},i){case 0:this.addItemLast(n);break;case 1:this.addItemFirst(n);break;case 2:this.addItemLast(n);break;default:this.addItemLast(n);break}this._map.set(e,n),this._size++}return this}delete(e){return!!this.remove(e)}remove(e){const t=this._map.get(e);if(t)return this._map.delete(e),this.removeItem(t),this._size--,t.value}shift(){if(!this._head&&!this._tail)return;if(!this._head||!this._tail)throw new Error("Invalid list");const e=this._head;return this._map.delete(e.key),this.removeItem(e),this._size--,e.value}forEach(e,t){const i=this._state;let n=this._head;for(;n;){if(t?e.bind(t)(n.value,n.key,this):e(n.value,n.key,this),this._state!==i)throw new Error("LinkedMap got modified during iteration.");n=n.next}}keys(){const e=this,t=this._state;let i=this._head;const n={[Symbol.iterator](){return n},next(){if(e._state!==t)throw new Error("LinkedMap got modified during iteration.");if(i){const o={value:i.key,done:!1};return i=i.next,o}else return{value:void 0,done:!0}}};return n}values(){const e=this,t=this._state;let i=this._head;const n={[Symbol.iterator](){return n},next(){if(e._state!==t)throw new Error("LinkedMap got modified during iteration.");if(i){const o={value:i.value,done:!1};return i=i.next,o}else return{value:void 0,done:!0}}};return n}entries(){const e=this,t=this._state;let i=this._head;const n={[Symbol.iterator](){return n},next(){if(e._state!==t)throw new Error("LinkedMap got modified during iteration.");if(i){const o={value:[i.key,i.value],done:!1};return i=i.next,o}else return{value:void 0,done:!0}}};return n}[(K3=Symbol.toStringTag,Symbol.iterator)](){return this.entries()}trimOld(e){if(e>=this.size)return;if(e===0){this.clear();return}let t=this._head,i=this.size;for(;t&&i>e;)this._map.delete(t.key),t=t.next,i--;this._head=t,this._size=i,t&&(t.previous=void 0),this._state++}trimNew(e){if(e>=this.size)return;if(e===0){this.clear();return}let t=this._tail,i=this.size;for(;t&&i>e;)this._map.delete(t.key),t=t.previous,i--;this._tail=t,this._size=i,t&&(t.next=void 0),this._state++}addItemFirst(e){if(!this._head&&!this._tail)this._tail=e;else if(this._head)e.next=this._head,this._head.previous=e;else throw new Error("Invalid list");this._head=e,this._state++}addItemLast(e){if(!this._head&&!this._tail)this._head=e;else if(this._tail)e.previous=this._tail,this._tail.next=e;else throw new Error("Invalid list");this._tail=e,this._state++}removeItem(e){if(e===this._head&&e===this._tail)this._head=void 0,this._tail=void 0;else if(e===this._head){if(!e.next)throw new Error("Invalid list");e.next.previous=void 0,this._head=e.next}else if(e===this._tail){if(!e.previous)throw new Error("Invalid list");e.previous.next=void 0,this._tail=e.previous}else{const t=e.next,i=e.previous;if(!t||!i)throw new Error("Invalid list");t.previous=i,i.next=t}e.next=void 0,e.previous=void 0,this._state++}touch(e,t){if(!this._head||!this._tail)throw new Error("Invalid list");if(!(t!==1&&t!==2)){if(t===1){if(e===this._head)return;const i=e.next,n=e.previous;e===this._tail?(n.next=void 0,this._tail=n):(i.previous=n,n.next=i),e.previous=void 0,e.next=this._head,this._head.previous=e,this._head=e,this._state++}else if(t===2){if(e===this._tail)return;const i=e.next,n=e.previous;e===this._head?(i.previous=void 0,this._head=i):(i.previous=n,n.next=i),e.next=void 0,e.previous=this._tail,this._tail.next=e,this._tail=e,this._state++}}}toJSON(){const e=[];return this.forEach((t,i)=>{e.push([i,t])}),e}fromJSON(e){this.clear();for(const[t,i]of e)this.set(t,i)}}class Hde extends Wde{constructor(e,t=1){super(),this._limit=e,this._ratio=Math.min(Math.max(0,t),1)}get limit(){return this._limit}set limit(e){this._limit=e,this.checkTrim()}get(e,t=2){return super.get(e,t)}peek(e){return super.get(e,0)}set(e,t){return super.set(e,t,2),this}checkTrim(){this.size>this._limit&&this.trim(Math.round(this._limit*this._ratio))}}class iu extends Hde{constructor(e,t=1){super(e,t)}trim(e){this.trimOld(e)}set(e,t){return super.set(e,t),this.checkTrim(),this}}class Vde{constructor(e){if(this._m1=new Map,this._m2=new Map,e)for(const[t,i]of e)this.set(t,i)}clear(){this._m1.clear(),this._m2.clear()}set(e,t){this._m1.set(e,t),this._m2.set(t,e)}get(e){return this._m1.get(e)}getKey(e){return this._m2.get(e)}delete(e){const t=this._m1.get(e);return t===void 0?!1:(this._m1.delete(e),this._m2.delete(t),!0)}keys(){return this._m1.keys()}values(){return this._m1.values()}}class _F{constructor(){this.map=new Map}add(e,t){let i=this.map.get(e);i||(i=new Set,this.map.set(e,i)),i.add(t)}delete(e,t){const i=this.map.get(e);i&&(i.delete(t),i.size===0&&this.map.delete(e))}forEach(e,t){const i=this.map.get(e);i&&i.forEach(t)}get(e){const t=this.map.get(e);return t||new Set}}class zde extends d0{constructor(e,t){super(0),this._segmenter=null,this._cachedLine=null,this._cachedSegments=[],this.intlSegmenterLocales=t,this.intlSegmenterLocales.length>0?this._segmenter=new Intl.Segmenter(this.intlSegmenterLocales,{granularity:"word"}):this._segmenter=null;for(let i=0,n=e.length;i t)break;i=n}return i}findNextIntlWordAtOrAfterOffset(e,t){for(const i of this._getIntlSegmenterWordsOnLine(e))if(!(i.index =0;let t=null;try{t=oz(this.searchString,this.isRegex,{matchCase:this.matchCase,wholeWord:!1,multiline:e,global:!0,unicode:!0})}catch{return null}if(!t)return null;let i=!this.isRegex&&!e;return i&&this.searchString.toLowerCase()!==this.searchString.toUpperCase()&&(i=this.matchCase),new $de(t,this.wordSeparators?Or(this.wordSeparators,[]):null,i?this.searchString:null)}}function qde(s){if(!s||s.length===0)return!1;for(let e=0,t=s.length;e =t)break;const n=s.charCodeAt(e);if(n===110||n===114||n===87)return!0}}return!1}function Pg(s,e,t){if(!t)return new Wb(s,null);const i=[];for(let n=0,o=e.length;n >0);t[o]>=e?n=o-1:t[o+1]>=e?(i=o,n=o):i=o+1}return i+1}}class _w{static findMatches(e,t,i,n,o){const r=t.parseSearchRequest();return r?r.regex.multiline?this._doFindMatchesMultiline(e,i,new nm(r.wordSeparators,r.regex),n,o):this._doFindMatchesLineByLine(e,i,r,n,o):[]}static _getMultilineMatchRange(e,t,i,n,o,r){let a,l=0;n?(l=n.findLineFeedCountBeforeOffset(o),a=t+o+l):a=t+o;let d;if(n){const g=n.findLineFeedCountBeforeOffset(o+r.length)-l;d=a+r.length+g}else d=a+r.length;const c=e.getPositionAt(a),u=e.getPositionAt(d);return new x(c.lineNumber,c.column,u.lineNumber,u.column)}static _doFindMatchesMultiline(e,t,i,n,o){const r=e.getOffsetAt(t.getStartPosition()),a=e.getValueInRange(t,1),l=e.getEOL()===`\r `?new G3(a):null,d=[];let c=0,u;for(i.reset(0);u=i.next(a);)if(d[c++]=Pg(this._getMultilineMatchRange(e,r,a,l,u.index,u[0]),u,n),c>=o)return d;return d}static _doFindMatchesLineByLine(e,t,i,n,o){const r=[];let a=0;if(t.startLineNumber===t.endLineNumber){const d=e.getLineContent(t.startLineNumber).substring(t.startColumn-1,t.endColumn-1);return a=this._findMatchesInLine(i,d,t.startLineNumber,t.startColumn-1,a,r,n,o),r}const l=e.getLineContent(t.startLineNumber).substring(t.startColumn-1);a=this._findMatchesInLine(i,l,t.startLineNumber,t.startColumn-1,a,r,n,o);for(let d=t.startLineNumber+1;d =l))return o;return o}const c=new nm(e.wordSeparators,e.regex);let u;c.reset(0);do if(u=c.next(t),u&&(r[o++]=Pg(new x(i,u.index+1+n,i,u.index+1+u[0].length+n),u,a),o>=l))return o;while(u);return o}static findNextMatch(e,t,i,n){const o=t.parseSearchRequest();if(!o)return null;const r=new nm(o.wordSeparators,o.regex);return o.regex.multiline?this._doFindNextMatchMultiline(e,i,r,n):this._doFindNextMatchLineByLine(e,i,r,n)}static _doFindNextMatchMultiline(e,t,i,n){const o=new W(t.lineNumber,1),r=e.getOffsetAt(o),a=e.getLineCount(),l=e.getValueInRange(new x(o.lineNumber,o.column,a,e.getLineMaxColumn(a)),1),d=e.getEOL()===`\r `?new G3(l):null;i.reset(t.column-1);const c=i.next(l);return c?Pg(this._getMultilineMatchRange(e,r,l,d,c.index,c[0]),c,n):t.lineNumber!==1||t.column!==1?this._doFindNextMatchMultiline(e,new W(1,1),i,n):null}static _doFindNextMatchLineByLine(e,t,i,n){const o=e.getLineCount(),r=t.lineNumber,a=e.getLineContent(r),l=this._findFirstMatchInLine(i,a,r,t.column,n);if(l)return l;for(let d=1;d<=o;d++){const c=(r+d-1)%o,u=e.getLineContent(c+1),h=this._findFirstMatchInLine(i,u,c+1,1,n);if(h)return h}return null}static _findFirstMatchInLine(e,t,i,n,o){e.reset(n-1);const r=e.next(t);return r?Pg(new x(i,r.index+1,i,r.index+1+r[0].length),r,o):null}static findPreviousMatch(e,t,i,n){const o=t.parseSearchRequest();if(!o)return null;const r=new nm(o.wordSeparators,o.regex);return o.regex.multiline?this._doFindPreviousMatchMultiline(e,i,r,n):this._doFindPreviousMatchLineByLine(e,i,r,n)}static _doFindPreviousMatchMultiline(e,t,i,n){const o=this._doFindMatchesMultiline(e,new x(1,1,t.lineNumber,t.column),i,n,10*Kde);if(o.length>0)return o[o.length-1];const r=e.getLineCount();return t.lineNumber!==r||t.column!==e.getLineMaxColumn(r)?this._doFindPreviousMatchMultiline(e,new W(r,e.getLineMaxColumn(r)),i,n):null}static _doFindPreviousMatchLineByLine(e,t,i,n){const o=e.getLineCount(),r=t.lineNumber,a=e.getLineContent(r).substring(0,t.column-1),l=this._findLastMatchInLine(i,a,r,n);if(l)return l;for(let d=1;d<=o;d++){const c=(o+r-d-1)%o,u=e.getLineContent(c+1),h=this._findLastMatchInLine(i,u,c+1,n);if(h)return h}return null}static _findLastMatchInLine(e,t,i,n){let o=null,r;for(e.reset(0);r=e.next(t);)o=Pg(new x(i,r.index+1,i,r.index+1+r[0].length),r,n);return o}}function Gde(s,e,t,i,n){if(i===0)return!0;const o=e.charCodeAt(i-1);if(s.get(o)!==0||o===13||o===10)return!0;if(n>0){const r=e.charCodeAt(i);if(s.get(r)!==0)return!0}return!1}function Zde(s,e,t,i,n){if(i+n===t)return!0;const o=e.charCodeAt(i+n);if(s.get(o)!==0||o===13||o===10)return!0;if(n>0){const r=e.charCodeAt(i+n-1);if(s.get(r)!==0)return!0}return!1}function vF(s,e,t,i,n){return Gde(s,e,t,i,n)&&Zde(s,e,t,i,n)}class nm{constructor(e,t){this._wordSeparators=e,this._searchRegex=t,this._prevMatchStartIndex=-1,this._prevMatchLength=0}reset(e){this._searchRegex.lastIndex=e,this._prevMatchStartIndex=-1,this._prevMatchLength=0}next(e){const t=e.length;let i;do{if(this._prevMatchStartIndex+this._prevMatchLength===t||(i=this._searchRegex.exec(e),!i))return null;const n=i.index,o=i[0].length;if(n===this._prevMatchStartIndex&&o===this._prevMatchLength){if(o===0){WS(e,t,this._searchRegex.lastIndex)>65535?this._searchRegex.lastIndex+=2:this._searchRegex.lastIndex+=1;continue}return null}if(this._prevMatchStartIndex=n,this._prevMatchLength=o,!this._wordSeparators||vF(this._wordSeparators,e,t,n,o))return i}while(i);return null}}class bF{static computeUnicodeHighlights(e,t,i){const n=i?i.startLineNumber:1,o=i?i.endLineNumber:e.getLineCount(),r=new Z3(t),a=r.getCandidateCodePoints();let l;a==="allNonBasicAscii"?l=new RegExp("[^\\t\\n\\r\\x20-\\x7E]","g"):l=new RegExp(`${Xde(Array.from(a))}`,"g");const d=new nm(null,l),c=[];let u=!1,h,g=0,f=0,m=0;e:for(let _=n,v=o;_<=v;_++){const b=e.getLineContent(_),C=b.length;d.reset(0);do if(h=d.next(b),h){let w=h.index,y=h.index+h[0].length;if(w>0){const I=b.charCodeAt(w-1);Cn(I)&&w--}if(y+1 =1e3){u=!0;break e}c.push(new x(_,w+1,_,y+1))}}while(h)}return{ranges:c,hasMore:u,ambiguousCharacterCount:g,invisibleCharacterCount:f,nonBasicAsciiCharacterCount:m}}static computeUnicodeHighlightReason(e,t){const i=new Z3(t);switch(i.shouldHighlightNonBasicASCII(e,null)){case 0:return null;case 2:return{kind:1};case 3:{const o=e.codePointAt(0),r=i.ambiguousCharacters.getPrimaryConfusable(o),a=wf.getLocales().filter(l=>!wf.getInstance(new Set([...t.allowedLocales,l])).isAmbiguous(o));return{kind:0,confusableWith:String.fromCodePoint(r),notAmbiguousInLocales:a}}case 1:return{kind:2}}}}function Xde(s,e){return`[${rr(s.map(i=>String.fromCodePoint(i)).join(""))}]`}class Z3{constructor(e){this.options=e,this.allowedCodePoints=new Set(e.allowedCodePoints),this.ambiguousCharacters=wf.getInstance(new Set(e.allowedLocales))}getCandidateCodePoints(){if(this.options.nonBasicASCII)return"allNonBasicAscii";const e=new Set;if(this.options.invisibleCharacters)for(const t of ld.codePoints)X3(String.fromCodePoint(t))||e.add(t);if(this.options.ambiguousCharacters)for(const t of this.ambiguousCharacters.getConfusableCodePoints())e.add(t);for(const t of this.allowedCodePoints)e.delete(t);return e}shouldHighlightNonBasicASCII(e,t){const i=e.codePointAt(0);if(this.allowedCodePoints.has(i))return 0;if(this.options.nonBasicASCII)return 1;let n=!1,o=!1;if(t)for(const r of t){const a=r.codePointAt(0),l=c1(r);n=n||l,!l&&!this.ambiguousCharacters.isAmbiguous(a)&&!ld.isInvisibleCharacter(a)&&(o=!0)}return!n&&o?0:this.options.invisibleCharacters&&!X3(e)&&ld.isInvisibleCharacter(i)?2:this.options.ambiguousCharacters&&this.ambiguousCharacters.isAmbiguous(i)?3:0}}function X3(s){return s===" "||s===` `||s===" "}class zy{constructor(e,t,i){this.changes=e,this.moves=t,this.hitTimeout=i}}class lU{constructor(e,t){this.lineRangeMapping=e,this.changes=t}}class et{static addRange(e,t){let i=0;for(;i t))return new et(e,t)}static ofLength(e){return new et(0,e)}static ofStartAndLength(e,t){return new et(e,e+t)}constructor(e,t){if(this.start=e,this.endExclusive=t,e>t)throw new Ut(`Invalid range: ${this.toString()}`)}get isEmpty(){return this.start===this.endExclusive}delta(e){return new et(this.start+e,this.endExclusive+e)}deltaStart(e){return new et(this.start+e,this.endExclusive)}deltaEnd(e){return new et(this.start,this.endExclusive+e)}get length(){return this.endExclusive-this.start}toString(){return`[${this.start}, ${this.endExclusive})`}contains(e){return this.start<=e&&e =e.endExclusive}slice(e){return e.slice(this.start,this.endExclusive)}substring(e){return e.substring(this.start,this.endExclusive)}clip(e){if(this.isEmpty)throw new Ut(`Invalid clipping range: ${this.toString()}`);return Math.max(this.start,Math.min(this.endExclusive-1,e))}clipCyclic(e){if(this.isEmpty)throw new Ut(`Invalid clipping range: ${this.toString()}`);return e =this.endExclusive?this.start+(e-this.start)%this.length:e}forEach(e){for(let t=this.start;t e.toString()).join(", ")}intersectsStrict(e){let t=0;for(;t e+t.length,0)}}function YS(s,e){const t=Yde(s,e);if(t!==-1)return s[t]}function Yde(s,e,t=s.length-1){for(let i=t;i>=0;i--){const n=s[i];if(e(n))return i}return-1}function g_(s,e){const t=Hb(s,e);return t===-1?void 0:s[t]}function Hb(s,e,t=0,i=s.length){let n=t,o=i;for(;n 0&&(t=n)}return t}function Jde(s,e){if(s.length===0)return;let t=s[0];for(let i=1;i =0&&(t=n)}return t}function ece(s,e){return wF(s,(t,i)=>-e(t,i))}function tce(s,e){if(s.length===0)return-1;let t=0;for(let i=1;i 0&&(t=i)}return t}function ice(s,e){for(const t of s){const i=e(t);if(i!==void 0)return i}}let Je=class Kd{static fromRangeInclusive(e){return new Kd(e.startLineNumber,e.endLineNumber+1)}static joinMany(e){if(e.length===0)return[];let t=new Lr(e[0].slice());for(let i=1;i t)throw new Ut(`startLineNumber ${e} cannot be after endLineNumberExclusive ${t}`);this.startLineNumber=e,this.endLineNumberExclusive=t}contains(e){return this.startLineNumber<=e&&e n.endLineNumberExclusive>=e.startLineNumber),i=Hb(this._normalizedRanges,n=>n.startLineNumber<=e.endLineNumberExclusive)+1;if(t===i)this._normalizedRanges.splice(t,0,e);else if(t===i-1){const n=this._normalizedRanges[t];this._normalizedRanges[t]=n.join(e)}else{const n=this._normalizedRanges[t].join(this._normalizedRanges[i-1]).join(e);this._normalizedRanges.splice(t,i-t,n)}}contains(e){const t=g_(this._normalizedRanges,i=>i.startLineNumber<=e);return!!t&&t.endLineNumberExclusive>e}intersects(e){const t=g_(this._normalizedRanges,i=>i.startLineNumber e.startLineNumber}getUnion(e){if(this._normalizedRanges.length===0)return e;if(e._normalizedRanges.length===0)return this;const t=[];let i=0,n=0,o=null;for(;i =r.startLineNumber?o=new Je(o.startLineNumber,Math.max(o.endLineNumberExclusive,r.endLineNumberExclusive)):(t.push(o),o=r)}return o!==null&&t.push(o),new Lr(t)}subtractFrom(e){const t=Vb(this._normalizedRanges,r=>r.endLineNumberExclusive>=e.startLineNumber),i=Hb(this._normalizedRanges,r=>r.startLineNumber<=e.endLineNumberExclusive)+1;if(t===i)return new Lr([e]);const n=[];let o=e.startLineNumber;for(let r=t;ro&&n.push(new Je(o,a.startLineNumber)),o=a.endLineNumberExclusive}return o e.toString()).join(", ")}getIntersection(e){const t=[];let i=0,n=0;for(;i t.delta(e)))}}class Fs{static betweenPositions(e,t){return e.lineNumber===t.lineNumber?new Fs(0,t.column-e.column):new Fs(t.lineNumber-e.lineNumber,t.column-1)}static ofRange(e){return Fs.betweenPositions(e.getStartPosition(),e.getEndPosition())}static ofText(e){let t=0,i=0;for(const n of e)n===` `?(t++,i=0):i++;return new Fs(t,i)}constructor(e,t){this.lineCount=e,this.columnCount=t}isGreaterThanOrEqualTo(e){return this.lineCount!==e.lineCount?this.lineCount>e.lineCount:this.columnCount>=e.columnCount}createRange(e){return this.lineCount===0?new x(e.lineNumber,e.column,e.lineNumber,e.column+this.columnCount):new x(e.lineNumber,e.column,e.lineNumber+this.lineCount,this.columnCount+1)}addToPosition(e){return this.lineCount===0?new W(e.lineNumber,e.column+this.columnCount):new W(e.lineNumber+this.lineCount,this.columnCount+1)}toString(){return`${this.lineCount},${this.columnCount}`}}Fs.zero=new Fs(0,0);class nce{constructor(e){this.text=e,this.lineStartOffsetByLineIdx=[],this.lineStartOffsetByLineIdx.push(0);for(let t=0;t fF(e,(t,i)=>t.range.getEndPosition().isBeforeOrEqual(i.range.getStartPosition())))}apply(e){let t="",i=new W(1,1);for(const o of this.edits){const r=o.range,a=r.getStartPosition(),l=r.getEndPosition(),d=Y3(i,a);d.isEmpty()||(t+=e.getValueOfRange(d)),t+=o.text,i=l}const n=Y3(i,e.endPositionExclusive);return n.isEmpty()||(t+=e.getValueOfRange(n)),t}applyToString(e){const t=new sce(e);return this.apply(t)}getNewRanges(){const e=[];let t=0,i=0,n=0;for(const o of this.edits){const r=Fs.ofText(o.text),a=W.lift({lineNumber:o.range.startLineNumber+i,column:o.range.startColumn+(o.range.startLineNumber===t?n:0)}),l=r.createRange(a);e.push(l),i=l.endLineNumber-o.range.endLineNumber,n=l.endColumn-o.range.endColumn,t=o.range.endLineNumber}return e}}class zc{constructor(e,t){this.range=e,this.text=t}}function Y3(s,e){if(s.lineNumber===e.lineNumber&&s.column===Number.MAX_SAFE_INTEGER)return x.fromPositions(e,e);if(!s.isBeforeOrEqual(e))throw new Ut("start must be before end");return new x(s.lineNumber,s.column,e.lineNumber,e.column)}class dU{get endPositionExclusive(){return this.length.addToPosition(new W(1,1))}}class sce extends dU{constructor(e){super(),this.value=e,this._t=new nce(this.value)}getValueOfRange(e){return this._t.getOffsetRange(e).substring(this.value)}get length(){return this._t.textLength}}class Ns{static inverse(e,t,i){const n=[];let o=1,r=1;for(const l of e){const d=new Ns(new Je(o,l.original.startLineNumber),new Je(r,l.modified.startLineNumber));d.modified.isEmpty||n.push(d),o=l.original.endLineNumberExclusive,r=l.modified.endLineNumberExclusive}const a=new Ns(new Je(o,t+1),new Je(r,i+1));return a.modified.isEmpty||n.push(a),n}static clip(e,t,i){const n=[];for(const o of e){const r=o.original.intersect(t),a=o.modified.intersect(i);r&&!r.isEmpty&&a&&!a.isEmpty&&n.push(new Ns(r,a))}return n}constructor(e,t){this.original=e,this.modified=t}toString(){return`{${this.original.toString()}->${this.modified.toString()}}`}flip(){return new Ns(this.modified,this.original)}join(e){return new Ns(this.original.join(e.original),this.modified.join(e.modified))}toRangeMapping(){const e=this.original.toInclusiveRange(),t=this.modified.toInclusiveRange();if(e&&t)return new Qa(e,t);if(this.original.startLineNumber===1||this.modified.startLineNumber===1){if(!(this.modified.startLineNumber===1&&this.original.startLineNumber===1))throw new Ut("not a valid diff");return new Qa(new x(this.original.startLineNumber,1,this.original.endLineNumberExclusive,1),new x(this.modified.startLineNumber,1,this.modified.endLineNumberExclusive,1))}else return new Qa(new x(this.original.startLineNumber-1,Number.MAX_SAFE_INTEGER,this.original.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER),new x(this.modified.startLineNumber-1,Number.MAX_SAFE_INTEGER,this.modified.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER))}}class nr extends Ns{static fromRangeMappings(e){const t=Je.join(e.map(n=>Je.fromRangeInclusive(n.originalRange))),i=Je.join(e.map(n=>Je.fromRangeInclusive(n.modifiedRange)));return new nr(t,i,e)}constructor(e,t,i){super(e,t),this.innerChanges=i}flip(){var e;return new nr(this.modified,this.original,(e=this.innerChanges)===null||e===void 0?void 0:e.map(t=>t.flip()))}withInnerChangesFromLineRanges(){return new nr(this.original,this.modified,[this.toRangeMapping()])}}class Qa{constructor(e,t){this.originalRange=e,this.modifiedRange=t}toString(){return`{${this.originalRange.toString()}->${this.modifiedRange.toString()}}`}flip(){return new Qa(this.modifiedRange,this.originalRange)}toTextEdit(e){const t=e.getValueOfRange(this.modifiedRange);return new zc(this.originalRange,t)}}const oce=3;class rce{computeDiff(e,t,i){var n;const r=new dce(e,t,{maxComputationTime:i.maxComputationTimeMs,shouldIgnoreTrimWhitespace:i.ignoreTrimWhitespace,shouldComputeCharChanges:!0,shouldMakePrettyDiff:!0,shouldPostProcessCharChanges:!0}).computeDiff(),a=[];let l=null;for(const d of r.changes){let c;d.originalEndLineNumber===0?c=new Je(d.originalStartLineNumber+1,d.originalStartLineNumber+1):c=new Je(d.originalStartLineNumber,d.originalEndLineNumber+1);let u;d.modifiedEndLineNumber===0?u=new Je(d.modifiedStartLineNumber+1,d.modifiedStartLineNumber+1):u=new Je(d.modifiedStartLineNumber,d.modifiedEndLineNumber+1);let h=new nr(c,u,(n=d.charChanges)===null||n===void 0?void 0:n.map(g=>new Qa(new x(g.originalStartLineNumber,g.originalStartColumn,g.originalEndLineNumber,g.originalEndColumn),new x(g.modifiedStartLineNumber,g.modifiedStartColumn,g.modifiedEndLineNumber,g.modifiedEndColumn))));l&&(l.modified.endLineNumberExclusive===h.modified.startLineNumber||l.original.endLineNumberExclusive===h.original.startLineNumber)&&(h=new nr(l.original.join(h.original),l.modified.join(h.modified),l.innerChanges&&h.innerChanges?l.innerChanges.concat(h.innerChanges):void 0),a.pop()),a.push(h),l=h}return Lf(()=>fF(a,(d,c)=>c.original.startLineNumber-d.original.endLineNumberExclusive===c.modified.startLineNumber-d.modified.endLineNumberExclusive&&d.original.endLineNumberExclusive (e===10?"\\n":String.fromCharCode(e))+`-(${this._lineNumbers[t]},${this._columns[t]})`).join(", ")+"]"}_assertIndex(e,t){if(e<0||e>=t.length)throw new Error("Illegal index")}getElements(){return this._charCodes}getStartLineNumber(e){return e>0&&e===this._lineNumbers.length?this.getEndLineNumber(e-1):(this._assertIndex(e,this._lineNumbers),this._lineNumbers[e])}getEndLineNumber(e){return e===-1?this.getStartLineNumber(e+1):(this._assertIndex(e,this._lineNumbers),this._charCodes[e]===10?this._lineNumbers[e]+1:this._lineNumbers[e])}getStartColumn(e){return e>0&&e===this._columns.length?this.getEndColumn(e-1):(this._assertIndex(e,this._columns),this._columns[e])}getEndColumn(e){return e===-1?this.getStartColumn(e+1):(this._assertIndex(e,this._columns),this._charCodes[e]===10?1:this._columns[e]+1)}}class Am{constructor(e,t,i,n,o,r,a,l){this.originalStartLineNumber=e,this.originalStartColumn=t,this.originalEndLineNumber=i,this.originalEndColumn=n,this.modifiedStartLineNumber=o,this.modifiedStartColumn=r,this.modifiedEndLineNumber=a,this.modifiedEndColumn=l}static createFromDiffChange(e,t,i){const n=t.getStartLineNumber(e.originalStart),o=t.getStartColumn(e.originalStart),r=t.getEndLineNumber(e.originalStart+e.originalLength-1),a=t.getEndColumn(e.originalStart+e.originalLength-1),l=i.getStartLineNumber(e.modifiedStart),d=i.getStartColumn(e.modifiedStart),c=i.getEndLineNumber(e.modifiedStart+e.modifiedLength-1),u=i.getEndColumn(e.modifiedStart+e.modifiedLength-1);return new Am(n,o,r,a,l,d,c,u)}}function lce(s){if(s.length<=1)return s;const e=[s[0]];let t=e[0];for(let i=1,n=s.length;i 0&&t.originalLength<20&&t.modifiedLength>0&&t.modifiedLength<20&&o()){const g=i.createCharSequence(e,t.originalStart,t.originalStart+t.originalLength-1),f=n.createCharSequence(e,t.modifiedStart,t.modifiedStart+t.modifiedLength-1);if(g.getElements().length>0&&f.getElements().length>0){let m=cU(g,f,o,!0).changes;a&&(m=lce(m)),h=[];for(let _=0,v=m.length;_ 1&&m>1;){const _=h.charCodeAt(f-2),v=g.charCodeAt(m-2);if(_!==v)break;f--,m--}(f>1||m>1)&&this._pushTrimWhitespaceCharChange(n,o+1,1,f,r+1,1,m)}{let f=_A(h,1),m=_A(g,1);const _=h.length+1,v=g.length+1;for(;f<_&&m !0;const e=Date.now();return()=>Date.now()-e {i.push(bn.fromOffsetPairs(n?n.getEndExclusives():Er.zero,o?o.getStarts():new Er(t,(n?n.seq2Range.endExclusive-n.seq1Range.endExclusive:0)+t)))}),i}static fromOffsetPairs(e,t){return new bn(new et(e.offset1,t.offset1),new et(e.offset2,t.offset2))}constructor(e,t){this.seq1Range=e,this.seq2Range=t}swap(){return new bn(this.seq2Range,this.seq1Range)}toString(){return`${this.seq1Range} <-> ${this.seq2Range}`}join(e){return new bn(this.seq1Range.join(e.seq1Range),this.seq2Range.join(e.seq2Range))}delta(e){return e===0?this:new bn(this.seq1Range.delta(e),this.seq2Range.delta(e))}deltaStart(e){return e===0?this:new bn(this.seq1Range.deltaStart(e),this.seq2Range.deltaStart(e))}deltaEnd(e){return e===0?this:new bn(this.seq1Range.deltaEnd(e),this.seq2Range.deltaEnd(e))}intersect(e){const t=this.seq1Range.intersect(e.seq1Range),i=this.seq2Range.intersect(e.seq2Range);if(!(!t||!i))return new bn(t,i)}getStarts(){return new Er(this.seq1Range.start,this.seq2Range.start)}getEndExclusives(){return new Er(this.seq1Range.endExclusive,this.seq2Range.endExclusive)}}class Er{constructor(e,t){this.offset1=e,this.offset2=t}toString(){return`${this.offset1} <-> ${this.offset2}`}delta(e){return e===0?this:new Er(this.offset1+e,this.offset2+e)}equals(e){return this.offset1===e.offset1&&this.offset2===e.offset2}}Er.zero=new Er(0,0);Er.max=new Er(Number.MAX_SAFE_INTEGER,Number.MAX_SAFE_INTEGER);class zb{isValid(){return!0}}zb.instance=new zb;class cce{constructor(e){if(this.timeout=e,this.startTime=Date.now(),this.valid=!0,e<=0)throw new Ut("timeout must be positive")}isValid(){if(!(Date.now()-this.startTime0&&m>0&&r.get(f-1,m-1)===3&&(b+=a.get(f-1,m-1)),b+=n?n(f,m):1):b=-1;const C=Math.max(_,v,b);if(C===b){const w=f>0&&m>0?a.get(f-1,m-1):0;a.set(f,m,w+1),r.set(f,m,3)}else C===_?(a.set(f,m,0),r.set(f,m,1)):C===v&&(a.set(f,m,0),r.set(f,m,2));o.set(f,m,C)}const l=[];let d=e.length,c=t.length;function u(f,m){(f+1!==d||m+1!==c)&&l.push(new bn(new et(f+1,d),new et(m+1,c))),d=f,c=m}let h=e.length-1,g=t.length-1;for(;h>=0&&g>=0;)r.get(h,g)===3?(u(h,g),h--,g--):r.get(h,g)===1?h--:g--;return u(-1,-1),l.reverse(),new Ic(l,!1)}}class uU{compute(e,t,i=zb.instance){if(e.length===0||t.length===0)return Ic.trivial(e,t);const n=e,o=t;function r(m,_){for(;m n.length||w>o.length)continue;const y=r(C,w);l.set(c,y);const D=C===v?d.get(c+1):d.get(c-1);if(d.set(c,y!==C?new eB(D,C,w,y-C):D),l.get(c)===n.length&&l.get(c)-c===o.length)break e}}let u=d.get(c);const h=[];let g=n.length,f=o.length;for(;;){const m=u?u.x+u.length:0,_=u?u.y+u.length:0;if((m!==g||_!==f)&&h.push(new bn(new et(m,g),new et(_,f))),!u)break;g=u.x,f=u.y,u=u.prev}return h.reverse(),new Ic(h,!1)}}class eB{constructor(e,t,i,n){this.prev=e,this.x=t,this.y=i,this.length=n}}class hce{constructor(){this.positiveArr=new Int32Array(10),this.negativeArr=new Int32Array(10)}get(e){return e<0?(e=-e-1,this.negativeArr[e]):this.positiveArr[e]}set(e,t){if(e<0){if(e=-e-1,e>=this.negativeArr.length){const i=this.negativeArr;this.negativeArr=new Int32Array(i.length*2),this.negativeArr.set(i)}this.negativeArr[e]=t}else{if(e>=this.positiveArr.length){const i=this.positiveArr;this.positiveArr=new Int32Array(i.length*2),this.positiveArr.set(i)}this.positiveArr[e]=t}}}class gce{constructor(){this.positiveArr=[],this.negativeArr=[]}get(e){return e<0?(e=-e-1,this.negativeArr[e]):this.positiveArr[e]}set(e,t){e<0?(e=-e-1,this.negativeArr[e]=t):this.positiveArr[e]=t}}class QS{constructor(e,t,i){this.lines=e,this.considerWhitespaceChanges=i,this.elements=[],this.firstCharOffsetByLine=[],this.additionalOffsetByLine=[];let n=!1;t.start>0&&t.endExclusive>=e.length&&(t=new et(t.start-1,t.endExclusive),n=!0),this.lineRange=t,this.firstCharOffsetByLine[0]=0;for(let o=this.lineRange.start;o String.fromCharCode(t)).join("")}getElement(e){return this.elements[e]}get length(){return this.elements.length}getBoundaryScore(e){const t=iB(e>0?this.elements[e-1]:-1),i=iB(e i<=e);return new W(this.lineRange.start+t+1,e-this.firstCharOffsetByLine[t]+this.additionalOffsetByLine[t]+1)}translateRange(e){return x.fromPositions(this.translateOffset(e.start),this.translateOffset(e.endExclusive))}findWordContaining(e){if(e<0||e>=this.elements.length||!rI(this.elements[e]))return;let t=e;for(;t>0&&rI(this.elements[t-1]);)t--;let i=e;for(;i r<=e.start))!==null&&t!==void 0?t:0,o=(i=Qde(this.firstCharOffsetByLine,r=>e.endExclusive<=r))!==null&&i!==void 0?i:this.elements.length;return new et(n,o)}}function rI(s){return s>=97&&s<=122||s>=65&&s<=90||s>=48&&s<=57}const fce={0:0,1:0,2:0,3:10,4:2,5:30,6:3,7:10,8:10};function tB(s){return fce[s]}function iB(s){return s===10?8:s===13?7:vA(s)?6:s>=97&&s<=122?0:s>=65&&s<=90?1:s>=48&&s<=57?2:s===-1?3:s===44||s===59?5:4}function pce(s,e,t,i,n,o){let{moves:r,excludedChanges:a}=_ce(s,e,t,o);if(!o.isValid())return[];const l=s.filter(c=>!a.has(c)),d=vce(l,i,n,e,t,o);return qT(r,d),r=bce(r),r=r.filter(c=>{const u=c.original.toOffsetRange().slice(e).map(g=>g.trim());return u.join(` `).length>=15&&mce(u,g=>g.length>=2)>=2}),r=Cce(s,r),r}function mce(s,e){let t=0;for(const i of s)e(i)&&t++;return t}function _ce(s,e,t,i){const n=[],o=s.filter(l=>l.modified.isEmpty&&l.original.length>=3).map(l=>new f_(l.original,e,l)),r=new Set(s.filter(l=>l.original.isEmpty&&l.modified.length>=3).map(l=>new f_(l.modified,t,l))),a=new Set;for(const l of o){let d=-1,c;for(const u of r){const h=l.computeSimilarity(u);h>d&&(d=h,c=u)}if(d>.9&&c&&(r.delete(c),n.push(new Ns(l.range,c.range)),a.add(l.source),a.add(c.source)),!i.isValid())return{moves:n,excludedChanges:a}}return{moves:n,excludedChanges:a}}function vce(s,e,t,i,n,o){const r=[],a=new _F;for(const h of s)for(let g=h.original.startLineNumber;g h.modified.startLineNumber,ua));for(const h of s){let g=[];for(let f=h.modified.startLineNumber;f {for(const w of g)if(w.originalLineRange.endLineNumberExclusive+1===b.endLineNumberExclusive&&w.modifiedLineRange.endLineNumberExclusive+1===_.endLineNumberExclusive){w.originalLineRange=new Je(w.originalLineRange.startLineNumber,b.endLineNumberExclusive),w.modifiedLineRange=new Je(w.modifiedLineRange.startLineNumber,_.endLineNumberExclusive),v.push(w);return}const C={modifiedLineRange:_,originalLineRange:b};l.push(C),v.push(C)}),g=v}if(!o.isValid())return[]}l.sort(kV(ao(h=>h.modifiedLineRange.length,ua)));const d=new Lr,c=new Lr;for(const h of l){const g=h.modifiedLineRange.startLineNumber-h.originalLineRange.startLineNumber,f=d.subtractFrom(h.modifiedLineRange),m=c.subtractFrom(h.originalLineRange).getWithDelta(g),_=f.getIntersection(m);for(const v of _.ranges){if(v.length<3)continue;const b=v,C=v.delta(-g);r.push(new Ns(C,b)),d.addRange(b),c.addRange(C)}}r.sort(ao(h=>h.original.startLineNumber,ua));const u=new f1(s);for(let h=0;h D.original.startLineNumber<=g.original.startLineNumber),m=g_(s,D=>D.modified.startLineNumber<=g.modified.startLineNumber),_=Math.max(g.original.startLineNumber-f.original.startLineNumber,g.modified.startLineNumber-m.modified.startLineNumber),v=u.findLastMonotonous(D=>D.original.startLineNumber D.modified.startLineNumber i.length||L>n.length||d.contains(L)||c.contains(D)||!nB(i[D-1],n[L-1],o))break}w>0&&(c.addRange(new Je(g.original.startLineNumber-w,g.original.startLineNumber)),d.addRange(new Je(g.modified.startLineNumber-w,g.modified.startLineNumber)));let y;for(y=0;y i.length||L>n.length||d.contains(L)||c.contains(D)||!nB(i[D-1],n[L-1],o))break}y>0&&(c.addRange(new Je(g.original.endLineNumberExclusive,g.original.endLineNumberExclusive+y)),d.addRange(new Je(g.modified.endLineNumberExclusive,g.modified.endLineNumberExclusive+y))),(w>0||y>0)&&(r[h]=new Ns(new Je(g.original.startLineNumber-w,g.original.endLineNumberExclusive+y),new Je(g.modified.startLineNumber-w,g.modified.endLineNumberExclusive+y)))}return r}function nB(s,e,t){if(s.trim()===e.trim())return!0;if(s.length>300&&e.length>300)return!1;const n=new uU().compute(new QS([s],new et(0,1),!1),new QS([e],new et(0,1),!1),t);let o=0;const r=bn.invert(n.diffs,s.length);for(const c of r)c.seq1Range.forEach(u=>{vA(s.charCodeAt(u))||o++});function a(c){let u=0;for(let h=0;h e.length?s:e);return o/l>.6&&l>10}function bce(s){if(s.length===0)return s;s.sort(ao(t=>t.original.startLineNumber,ua));const e=[s[0]];for(let t=1;t =0&&r>=0&&o+r<=2){e[e.length-1]=i.join(n);continue}e.push(n)}return e}function Cce(s,e){const t=new f1(s);return e=e.filter(i=>{const n=t.findLastMonotonous(a=>a.original.startLineNumber a.modified.startLineNumber 0&&(a=a.delta(d))}n.push(a)}return i.length>0&&n.push(i[i.length-1]),n}function wce(s,e,t){if(!s.getBoundaryScore||!e.getBoundaryScore)return t;for(let i=0;i 0?t[i-1]:void 0,o=t[i],r=i+1 =i.start&&s.seq2Range.start-r>=n.start&&t.isStronglyEqual(s.seq2Range.start-r,s.seq2Range.endExclusive-r)&&r<100;)r++;r--;let a=0;for(;s.seq1Range.start+a d&&(d=f,l=c)}return s.delta(l)}function yce(s,e,t){const i=[];for(const n of t){const o=i[i.length-1];if(!o){i.push(n);continue}n.seq1Range.start-o.seq1Range.endExclusive<=2||n.seq2Range.start-o.seq2Range.endExclusive<=2?i[i.length-1]=new bn(o.seq1Range.join(n.seq1Range),o.seq2Range.join(n.seq2Range)):i.push(n)}return i}function Sce(s,e,t){const i=bn.invert(t,s.length),n=[];let o=new Er(0,0);function r(l,d){if(l.offset1 0;){const _=i[0];if(!(_.seq1Range.intersects(h.seq1Range)||_.seq2Range.intersects(h.seq2Range)))break;const b=s.findWordContaining(_.seq1Range.start),C=e.findWordContaining(_.seq2Range.start),w=new bn(b,C),y=w.intersect(_);if(f+=y.seq1Range.length,m+=y.seq2Range.length,h=h.join(w),h.seq1Range.endExclusive>=_.seq1Range.endExclusive)i.shift();else break}f+m<(h.seq1Range.length+h.seq2Range.length)*2/3&&n.push(h),o=h.getEndExclusives()}for(;i.length>0;){const l=i.shift();l.seq1Range.isEmpty||(r(l.getStarts(),l),r(l.getEndExclusives().delta(-1),l))}return Dce(t,n)}function Dce(s,e){const t=[];for(;s.length>0||e.length>0;){const i=s[0],n=e[0];let o;i&&(!n||i.seq1Range.start 0&&t[t.length-1].seq1Range.endExclusive>=o.seq1Range.start?t[t.length-1]=t[t.length-1].join(o):t.push(o)}return t}function Lce(s,e,t){let i=t;if(i.length===0)return i;let n=0,o;do{o=!1;const r=[i[0]];for(let a=1;a 5||g.seq1Range.length+g.seq2Range.length>5)};const l=i[a],d=r[r.length-1];c(d,l)?(o=!0,r[r.length-1]=r[r.length-1].join(l)):r.push(l)}i=r}while(n++<10&&o);return i}function xce(s,e,t){let i=t;if(i.length===0)return i;let n=0,o;do{o=!1;const a=[i[0]];for(let l=1;l 5||m.length>500)return!1;const v=s.getText(m).trim();if(v.length>20||v.split(/\r\n|\r|\n/).length>1)return!1;const b=s.countLinesIn(g.seq1Range),C=g.seq1Range.length,w=e.countLinesIn(g.seq2Range),y=g.seq2Range.length,D=s.countLinesIn(f.seq1Range),L=f.seq1Range.length,k=e.countLinesIn(f.seq2Range),I=f.seq2Range.length,O=2*40+50;function R(P){return Math.min(P,O)}return Math.pow(Math.pow(R(b*40+C),1.5)+Math.pow(R(w*40+y),1.5),1.5)+Math.pow(Math.pow(R(D*40+L),1.5)+Math.pow(R(k*40+I),1.5),1.5)>(O**1.5)**1.5*1.3};const d=i[l],c=a[a.length-1];u(c,d)?(o=!0,a[a.length-1]=a[a.length-1].join(d)):a.push(d)}i=a}while(n++<10&&o);const r=[];return Dse(i,(a,l,d)=>{let c=l;function u(v){return v.length>0&&v.trim().length<=3&&l.seq1Range.length+l.seq2Range.length>100}const h=s.extendToFullLines(l.seq1Range),g=s.getText(new et(h.start,l.seq1Range.start));u(g)&&(c=c.deltaStart(-g.length));const f=s.getText(new et(l.seq1Range.endExclusive,h.endExclusive));u(f)&&(c=c.deltaEnd(f.length));const m=bn.fromOffsetPairs(a?a.getEndExclusives():Er.zero,d?d.getStarts():Er.max),_=c.intersect(m);r.length>0&&_.getStarts().equals(r[r.length-1].getEndExclusives())?r[r.length-1]=r[r.length-1].join(_):r.push(_)}),r}class rB{constructor(e,t){this.trimmedHash=e,this.lines=t}getElement(e){return this.trimmedHash[e]}get length(){return this.trimmedHash.length}getBoundaryScore(e){const t=e===0?0:aB(this.lines[e-1]),i=e===this.lines.length?0:aB(this.lines[e]);return 1e3-(t+i)}getText(e){return this.lines.slice(e.start,e.endExclusive).join(` `)}isStronglyEqual(e,t){return this.lines[e]===this.lines[t]}}function aB(s){let e=0;for(;e y===D))return new zy([],[],!1);if(e.length===1&&e[0].length===0||t.length===1&&t[0].length===0)return new zy([new nr(new Je(1,e.length+1),new Je(1,t.length+1),[new Qa(new x(1,1,e.length,e[e.length-1].length+1),new x(1,1,t.length,t[t.length-1].length+1))])],[],!1);const n=i.maxComputationTimeMs===0?zb.instance:new cce(i.maxComputationTimeMs),o=!i.ignoreTrimWhitespace,r=new Map;function a(y){let D=r.get(y);return D===void 0&&(D=r.size,r.set(y,D)),D}const l=e.map(y=>a(y.trim())),d=t.map(y=>a(y.trim())),c=new rB(l,e),u=new rB(d,t),h=c.length+u.length<1700?this.dynamicProgrammingDiffing.compute(c,u,n,(y,D)=>e[y]===t[D]?t[D].length===0?.1:1+Math.log(1+t[D].length):.99):this.myersDiffingAlgorithm.compute(c,u);let g=h.diffs,f=h.hitTimeout;g=bA(c,u,g),g=Lce(c,u,g);const m=[],_=y=>{if(o)for(let D=0;D y.seq1Range.start-v===y.seq2Range.start-b);const D=y.seq1Range.start-v;_(D),v=y.seq1Range.endExclusive,b=y.seq2Range.endExclusive;const L=this.refineDiff(e,t,y,n,o);L.hitTimeout&&(f=!0);for(const k of L.mappings)m.push(k)}_(e.length-v);const C=lB(m,e,t);let w=[];return i.computeMoves&&(w=this.computeMoves(C,e,t,l,d,n,o)),Lf(()=>{function y(L,k){if(L.lineNumber<1||L.lineNumber>k.length)return!1;const I=k[L.lineNumber-1];return!(L.column<1||L.column>I.length+1)}function D(L,k){return!(L.startLineNumber<1||L.startLineNumber>k.length+1||L.endLineNumberExclusive<1||L.endLineNumberExclusive>k.length+1)}for(const L of C){if(!L.innerChanges)return!1;for(const k of L.innerChanges)if(!(y(k.modifiedRange.getStartPosition(),t)&&y(k.modifiedRange.getEndPosition(),t)&&y(k.originalRange.getStartPosition(),e)&&y(k.originalRange.getEndPosition(),e)))return!1;if(!D(L.modified,t)||!D(L.original,e))return!1}return!0}),new zy(C,w,f)}computeMoves(e,t,i,n,o,r,a){return pce(e,t,i,n,o,r).map(c=>{const u=this.refineDiff(t,i,new bn(c.original.toOffsetRange(),c.modified.toOffsetRange()),r,a),h=lB(u.mappings,t,i,!0);return new lU(c,h)})}refineDiff(e,t,i,n,o){const r=new QS(e,i.seq1Range,o),a=new QS(t,i.seq2Range,o),l=r.length+a.length<500?this.dynamicProgrammingDiffing.compute(r,a,n):this.myersDiffingAlgorithm.compute(r,a,n);let d=l.diffs;return d=bA(r,a,d),d=Sce(r,a,d),d=yce(r,a,d),d=xce(r,a,d),{mappings:d.map(u=>new Qa(r.translateRange(u.seq1Range),a.translateRange(u.seq2Range))),hitTimeout:l.hitTimeout}}}function lB(s,e,t,i=!1){const n=[];for(const o of PP(s.map(r=>kce(r,e,t)),(r,a)=>r.original.overlapOrTouch(a.original)||r.modified.overlapOrTouch(a.modified))){const r=o[0],a=o[o.length-1];n.push(new nr(r.original.join(a.original),r.modified.join(a.modified),o.map(l=>l.innerChanges[0])))}return Lf(()=>!i&&n.length>0&&(n[0].modified.startLineNumber!==n[0].original.startLineNumber||t.length-n[n.length-1].modified.endLineNumberExclusive!==e.length-n[n.length-1].original.endLineNumberExclusive)?!1:fF(n,(o,r)=>r.original.startLineNumber-o.original.endLineNumberExclusive===r.modified.startLineNumber-o.modified.endLineNumberExclusive&&o.original.endLineNumberExclusive =t[s.modifiedRange.startLineNumber-1].length&&s.originalRange.startColumn-1>=e[s.originalRange.startLineNumber-1].length&&s.originalRange.startLineNumber<=s.originalRange.endLineNumber+n&&s.modifiedRange.startLineNumber<=s.modifiedRange.endLineNumber+n&&(i=1);const o=new Je(s.originalRange.startLineNumber+i,s.originalRange.endLineNumber+1+n),r=new Je(s.modifiedRange.startLineNumber+i,s.modifiedRange.endLineNumber+1+n);return new nr(o,r,[s])}const dB={getLegacy:()=>new rce,getDefault:()=>new hU};function oh(s,e){const t=Math.pow(10,e);return Math.round(s*t)/t}class bt{constructor(e,t,i,n=1){this._rgbaBrand=void 0,this.r=Math.min(255,Math.max(0,e))|0,this.g=Math.min(255,Math.max(0,t))|0,this.b=Math.min(255,Math.max(0,i))|0,this.a=oh(Math.max(Math.min(1,n),0),3)}static equals(e,t){return e.r===t.r&&e.g===t.g&&e.b===t.b&&e.a===t.a}}class na{constructor(e,t,i,n){this._hslaBrand=void 0,this.h=Math.max(Math.min(360,e),0)|0,this.s=oh(Math.max(Math.min(1,t),0),3),this.l=oh(Math.max(Math.min(1,i),0),3),this.a=oh(Math.max(Math.min(1,n),0),3)}static equals(e,t){return e.h===t.h&&e.s===t.s&&e.l===t.l&&e.a===t.a}static fromRGBA(e){const t=e.r/255,i=e.g/255,n=e.b/255,o=e.a,r=Math.max(t,i,n),a=Math.min(t,i,n);let l=0,d=0;const c=(a+r)/2,u=r-a;if(u>0){switch(d=Math.min(c<=.5?u/(2*c):u/(2-2*c),1),r){case t:l=(i-n)/u+(i 1&&(i-=1),i<1/6?e+(t-e)*6*i:i<1/2?t:i<2/3?e+(t-e)*(2/3-i)*6:e}static toRGBA(e){const t=e.h/360,{s:i,l:n,a:o}=e;let r,a,l;if(i===0)r=a=l=n;else{const d=n<.5?n*(1+i):n+i-n*i,c=2*n-d;r=na._hue2rgb(c,d,t+1/3),a=na._hue2rgb(c,d,t),l=na._hue2rgb(c,d,t-1/3)}return new bt(Math.round(r*255),Math.round(a*255),Math.round(l*255),o)}}class Yl{constructor(e,t,i,n){this._hsvaBrand=void 0,this.h=Math.max(Math.min(360,e),0)|0,this.s=oh(Math.max(Math.min(1,t),0),3),this.v=oh(Math.max(Math.min(1,i),0),3),this.a=oh(Math.max(Math.min(1,n),0),3)}static equals(e,t){return e.h===t.h&&e.s===t.s&&e.v===t.v&&e.a===t.a}static fromRGBA(e){const t=e.r/255,i=e.g/255,n=e.b/255,o=Math.max(t,i,n),r=Math.min(t,i,n),a=o-r,l=o===0?0:a/o;let d;return a===0?d=0:o===t?d=((i-n)/a%6+6)%6:o===i?d=(n-t)/a+2:d=(t-i)/a+4,new Yl(Math.round(d*60),l,o,e.a)}static toRGBA(e){const{h:t,s:i,v:n,a:o}=e,r=n*i,a=r*(1-Math.abs(t/60%2-1)),l=n-r;let[d,c,u]=[0,0,0];return t<60?(d=r,c=a):t<120?(d=a,c=r):t<180?(c=r,u=a):t<240?(c=a,u=r):t<300?(d=a,u=r):t<=360&&(d=r,u=a),d=Math.round((d+l)*255),c=Math.round((c+l)*255),u=Math.round((u+l)*255),new bt(d,c,u,o)}}class ${static fromHex(e){return $.Format.CSS.parseHex(e)||$.red}static equals(e,t){return!e&&!t?!0:!e||!t?!1:e.equals(t)}get hsla(){return this._hsla?this._hsla:na.fromRGBA(this.rgba)}get hsva(){return this._hsva?this._hsva:Yl.fromRGBA(this.rgba)}constructor(e){if(e)if(e instanceof bt)this.rgba=e;else if(e instanceof na)this._hsla=e,this.rgba=na.toRGBA(e);else if(e instanceof Yl)this._hsva=e,this.rgba=Yl.toRGBA(e);else throw new Error("Invalid color ctor argument");else throw new Error("Color needs a value")}equals(e){return!!e&&bt.equals(this.rgba,e.rgba)&&na.equals(this.hsla,e.hsla)&&Yl.equals(this.hsva,e.hsva)}getRelativeLuminance(){const e=$._relativeLuminanceForComponent(this.rgba.r),t=$._relativeLuminanceForComponent(this.rgba.g),i=$._relativeLuminanceForComponent(this.rgba.b),n=.2126*e+.7152*t+.0722*i;return oh(n,4)}static _relativeLuminanceForComponent(e){const t=e/255;return t<=.03928?t/12.92:Math.pow((t+.055)/1.055,2.4)}isLighter(){return(this.rgba.r*299+this.rgba.g*587+this.rgba.b*114)/1e3>=128}isLighterThan(e){const t=this.getRelativeLuminance(),i=e.getRelativeLuminance();return t>i}isDarkerThan(e){const t=this.getRelativeLuminance(),i=e.getRelativeLuminance();return t0)for(const n of i){const o=n.filter(d=>d!==void 0),r=o[1],a=o[2];if(!a)continue;let l;if(r==="rgb"){const d=/^\(\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;l=cB(B0(s,n),W0(a,d),!1)}else if(r==="rgba"){const d=/^\(\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;l=cB(B0(s,n),W0(a,d),!0)}else if(r==="hsl"){const d=/^\(\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;l=uB(B0(s,n),W0(a,d),!1)}else if(r==="hsla"){const d=/^\(\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;l=uB(B0(s,n),W0(a,d),!0)}else r==="#"&&(l=Ece(B0(s,n),r+a));l&&e.push(l)}return e}function Tce(s){return!s||typeof s.getValue!="function"||typeof s.positionAt!="function"?[]:Ice(s)}const hB=new RegExp("\\bMARK:\\s*(.*)$","d"),Nce=/^-+|-+$/g;function Ace(s,e){var t;let i=[];if(e.findRegionSectionHeaders&&(!((t=e.foldingRules)===null||t===void 0)&&t.markers)){const n=Mce(s,e);i=i.concat(n)}if(e.findMarkSectionHeaders){const n=Rce(s);i=i.concat(n)}return i}function Mce(s,e){const t=[],i=s.getLineCount();for(let n=1;n<=i;n++){const o=s.getLineContent(n),r=o.match(e.foldingRules.markers.start);if(r){const a={startLineNumber:n,startColumn:r[0].length+1,endLineNumber:n,endColumn:o.length+1};if(a.endColumn>a.startColumn){const l={range:a,...fU(o.substring(r[0].length)),shouldBeInComments:!1};(l.text||l.hasSeparatorLine)&&t.push(l)}}}return t}function Rce(s){const e=[],t=s.getLineCount();for(let i=1;i<=t;i++){const n=s.getLineContent(i);Pce(n,i,e)}return e}function Pce(s,e,t){hB.lastIndex=0;const i=hB.exec(s);if(i){const n=i.indices[1][0]+1,o=i.indices[1][1]+1,r={startLineNumber:e,startColumn:n,endLineNumber:e,endColumn:o};if(r.endColumn>r.startColumn){const a={range:r,...fU(i[1]),shouldBeInComments:!0};(a.text||a.hasSeparatorLine)&&t.push(a)}}}function fU(s){s=s.trim();const e=s.startsWith("-");return s=s.replace(Nce,""),{text:s,hasSeparatorLine:e}}class Fce extends Nde{get uri(){return this._uri}get eol(){return this._eol}getValue(){return this.getText()}findMatches(e){const t=[];for(let i=0;i this._lines.length)t=this._lines.length,i=this._lines[t-1].length+1,n=!0;else{const o=this._lines[t-1].length+1;i<1?(i=1,n=!0):i>o&&(i=o,n=!0)}return n?{lineNumber:t,column:i}:e}}class rh{constructor(e,t){this._host=e,this._models=Object.create(null),this._foreignModuleFactory=t,this._foreignModule=null}dispose(){this._models=Object.create(null)}_getModel(e){return this._models[e]}_getModels(){const e=[];return Object.keys(this._models).forEach(t=>e.push(this._models[t])),e}acceptNewModel(e){this._models[e.url]=new Fce(Ae.parse(e.url),e.lines,e.EOL,e.versionId)}acceptModelChanged(e,t){if(!this._models[e])return;this._models[e].onEvents(t)}acceptRemovedModel(e){this._models[e]&&delete this._models[e]}async computeUnicodeHighlights(e,t,i){const n=this._getModel(e);return n?bF.computeUnicodeHighlights(n,t,i):{ranges:[],hasMore:!1,ambiguousCharacterCount:0,invisibleCharacterCount:0,nonBasicAsciiCharacterCount:0}}async findSectionHeaders(e,t){const i=this._getModel(e);return i?Ace(i,t):[]}async computeDiff(e,t,i,n){const o=this._getModel(e),r=this._getModel(t);return!o||!r?null:rh.computeDiff(o,r,i,n)}static computeDiff(e,t,i,n){const o=n==="advanced"?dB.getDefault():dB.getLegacy(),r=e.getLinesContent(),a=t.getLinesContent(),l=o.computeDiff(r,a,i),d=l.changes.length>0?!1:this._modelsAreIdentical(e,t);function c(u){return u.map(h=>{var g;return[h.original.startLineNumber,h.original.endLineNumberExclusive,h.modified.startLineNumber,h.modified.endLineNumberExclusive,(g=h.innerChanges)===null||g===void 0?void 0:g.map(f=>[f.originalRange.startLineNumber,f.originalRange.startColumn,f.originalRange.endLineNumber,f.originalRange.endColumn,f.modifiedRange.startLineNumber,f.modifiedRange.startColumn,f.modifiedRange.endLineNumber,f.modifiedRange.endColumn])]})}return{identical:d,quitEarly:l.hitTimeout,changes:c(l.changes),moves:l.moves.map(u=>[u.lineRangeMapping.original.startLineNumber,u.lineRangeMapping.original.endLineNumberExclusive,u.lineRangeMapping.modified.startLineNumber,u.lineRangeMapping.modified.endLineNumberExclusive,c(u.changes)])}}static _modelsAreIdentical(e,t){const i=e.getLineCount(),n=t.getLineCount();if(i!==n)return!1;for(let o=1;o<=i;o++){const r=e.getLineContent(o),a=t.getLineContent(o);if(r!==a)return!1}return!0}async computeMoreMinimalEdits(e,t,i){const n=this._getModel(e);if(!n)return t;const o=[];let r;t=t.slice(0).sort((l,d)=>{if(l.range&&d.range)return x.compareRangesUsingStarts(l.range,d.range);const c=l.range?0:1,u=d.range?0:1;return c-u});let a=0;for(let l=1;l rh._diffLimit){o.push({range:l,text:d});continue}const h=Ede(u,d,i),g=n.offsetAt(x.lift(l).getStartPosition());for(const f of h){const m=n.positionAt(g+f.originalStart),_=n.positionAt(g+f.originalStart+f.originalLength),v={text:d.substr(f.modifiedStart,f.modifiedLength),range:{startLineNumber:m.lineNumber,startColumn:m.column,endLineNumber:_.lineNumber,endColumn:_.column}};n.getValueInRange(v.range)!==v.text&&o.push(v)}}return typeof r=="number"&&o.push({eol:r,text:"",range:{startLineNumber:0,startColumn:0,endLineNumber:0,endColumn:0}}),o}async computeLinks(e){const t=this._getModel(e);return t?Fde(t):null}async computeDefaultDocumentColors(e){const t=this._getModel(e);return t?Tce(t):null}async textualSuggest(e,t,i,n){const o=new Jn,r=new RegExp(i,n),a=new Set;e:for(const l of e){const d=this._getModel(l);if(d){for(const c of d.words(r))if(!(c===t||!isNaN(Number(c)))&&(a.add(c),a.size>rh._suggestionsLimit))break e}}return{words:Array.from(a),duration:o.elapsed()}}async computeWordRanges(e,t,i,n){const o=this._getModel(e);if(!o)return Object.create(null);const r=new RegExp(i,n),a=Object.create(null);for(let l=t.startLineNumber;l this._host.fhr(a,l)),getMirrorModels:()=>this._getModels()};return this._foreignModuleFactory?(this._foreignModule=this._foreignModuleFactory(r,t),Promise.resolve(BP(this._foreignModule))):Promise.reject(new Error("Unexpected usage"))}fmr(e,t){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,t))}catch(i){return Promise.reject(i)}}}rh._diffLimit=1e5;rh._suggestionsLimit=1e4;typeof importScripts=="function"&&(globalThis.monaco=iz());const DF=ut("textResourceConfigurationService"),pU=ut("textResourcePropertiesService"),Ce=ut("ILanguageFeaturesService");var Oce=function(s,e,t,i){var n=arguments.length,o=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(o=(n<3?r(o):n>3?r(e,t,o):r(e,t))||o);return n>3&&o&&Object.defineProperty(e,t,o),o},H0=function(s,e){return function(t,i){e(t,i,s)}};const gB=60*1e3,fB=5*60*1e3;function Fg(s,e){const t=s.getModel(e);return!(!t||t.isTooLargeForSyncing())}let CA=class extends H{constructor(e,t,i,n,o){super(),this._modelService=e,this._workerManager=this._register(new Wce(this._modelService,n)),this._logService=i,this._register(o.linkProvider.register({language:"*",hasAccessToAllModels:!0},{provideLinks:(r,a)=>Fg(this._modelService,r.uri)?this._workerManager.withWorker().then(l=>l.computeLinks(r.uri)).then(l=>l&&{links:l}):Promise.resolve({links:[]})})),this._register(o.completionProvider.register("*",new Bce(this._workerManager,t,this._modelService,n)))}dispose(){super.dispose()}canComputeUnicodeHighlights(e){return Fg(this._modelService,e)}computedUnicodeHighlights(e,t,i){return this._workerManager.withWorker().then(n=>n.computedUnicodeHighlights(e,t,i))}async computeDiff(e,t,i,n){const o=await this._workerManager.withWorker().then(l=>l.computeDiff(e,t,i,n));if(!o)return null;return{identical:o.identical,quitEarly:o.quitEarly,changes:a(o.changes),moves:o.moves.map(l=>new lU(new Ns(new Je(l[0],l[1]),new Je(l[2],l[3])),a(l[4])))};function a(l){return l.map(d=>{var c;return new nr(new Je(d[0],d[1]),new Je(d[2],d[3]),(c=d[4])===null||c===void 0?void 0:c.map(u=>new Qa(new x(u[0],u[1],u[2],u[3]),new x(u[4],u[5],u[6],u[7]))))})}}computeMoreMinimalEdits(e,t,i=!1){if(rs(t)){if(!Fg(this._modelService,e))return Promise.resolve(t);const n=Jn.create(),o=this._workerManager.withWorker().then(r=>r.computeMoreMinimalEdits(e,t,i));return o.finally(()=>this._logService.trace("FORMAT#computeMoreMinimalEdits",e.toString(!0),n.elapsed())),Promise.race([o,xh(1e3).then(()=>t)])}else return Promise.resolve(void 0)}canNavigateValueSet(e){return Fg(this._modelService,e)}navigateValueSet(e,t,i){return this._workerManager.withWorker().then(n=>n.navigateValueSet(e,t,i))}canComputeWordRanges(e){return Fg(this._modelService,e)}computeWordRanges(e,t){return this._workerManager.withWorker().then(i=>i.computeWordRanges(e,t))}findSectionHeaders(e,t){return this._workerManager.withWorker().then(i=>i.findSectionHeaders(e,t))}};CA=Oce([H0(0,_i),H0(1,DF),H0(2,ys),H0(3,Yt),H0(4,Ce)],CA);class Bce{constructor(e,t,i,n){this.languageConfigurationService=n,this._debugDisplayName="wordbasedCompletions",this._workerManager=e,this._configurationService=t,this._modelService=i}async provideCompletionItems(e,t){const i=this._configurationService.getValue(e.uri,t,"editor");if(i.wordBasedSuggestions==="off")return;const n=[];if(i.wordBasedSuggestions==="currentDocument")Fg(this._modelService,e.uri)&&n.push(e.uri);else for(const u of this._modelService.getModels())Fg(this._modelService,u.uri)&&(u===e?n.unshift(u.uri):(i.wordBasedSuggestions==="allDocuments"||u.getLanguageId()===e.getLanguageId())&&n.push(u.uri));if(n.length===0)return;const o=this.languageConfigurationService.getLanguageConfiguration(e.getLanguageId()).getWordDefinition(),r=e.getWordAtPosition(t),a=r?new x(t.lineNumber,r.startColumn,t.lineNumber,r.endColumn):x.fromPositions(t),l=a.setEndPosition(t.lineNumber,t.column),c=await(await this._workerManager.withWorker()).textualSuggest(n,r==null?void 0:r.word,o);if(c)return{duration:c.duration,suggestions:c.words.map(u=>({kind:18,label:u,insertText:u,range:{insert:l,replace:a}}))}}}class Wce extends H{constructor(e,t){super(),this.languageConfigurationService=t,this._modelService=e,this._editorWorkerClient=null,this._lastWorkerUsedTime=new Date().getTime(),this._register(new lF).cancelAndSet(()=>this._checkStopIdleWorker(),Math.round(fB/2),Ht),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>fB&&(this._editorWorkerClient.dispose(),this._editorWorkerClient=null)}withWorker(){return this._lastWorkerUsedTime=new Date().getTime(),this._editorWorkerClient||(this._editorWorkerClient=new LF(this._modelService,!1,"editorWorkerService",this.languageConfigurationService)),Promise.resolve(this._editorWorkerClient)}}class Hce extends H{constructor(e,t,i){if(super(),this._syncedModels=Object.create(null),this._syncedModelsLastUsedTime=Object.create(null),this._proxy=e,this._modelService=t,!i){const n=new oF;n.cancelAndSet(()=>this._checkStopModelSync(),Math.round(gB/2)),this._register(n)}}dispose(){for(const e in this._syncedModels)jt(this._syncedModels[e]);this._syncedModels=Object.create(null),this._syncedModelsLastUsedTime=Object.create(null),super.dispose()}ensureSyncedResources(e,t){for(const i of e){const n=i.toString();this._syncedModels[n]||this._beginModelSync(i,t),this._syncedModels[n]&&(this._syncedModelsLastUsedTime[n]=new Date().getTime())}}_checkStopModelSync(){const e=new Date().getTime(),t=[];for(const i in this._syncedModelsLastUsedTime)e-this._syncedModelsLastUsedTime[i]>gB&&t.push(i);for(const i of t)this._stopModelSync(i)}_beginModelSync(e,t){const i=this._modelService.getModel(e);if(!i||!t&&i.isTooLargeForSyncing())return;const n=e.toString();this._proxy.acceptNewModel({url:i.uri.toString(),lines:i.getLinesContent(),EOL:i.getEOL(),versionId:i.getVersionId()});const o=new Y;o.add(i.onDidChangeContent(r=>{this._proxy.acceptModelChanged(n.toString(),r)})),o.add(i.onWillDispose(()=>{this._stopModelSync(n)})),o.add(Ie(()=>{this._proxy.acceptRemovedModel(n)})),this._syncedModels[n]=o}_stopModelSync(e){const t=this._syncedModels[e];delete this._syncedModels[e],delete this._syncedModelsLastUsedTime[e],jt(t)}}class pB{constructor(e){this._instance=e,this._proxyObj=Promise.resolve(this._instance)}dispose(){this._instance.dispose()}getProxyObject(){return this._proxyObj}}class aI{constructor(e){this._workerClient=e}fhr(e,t){return this._workerClient.fhr(e,t)}}class LF extends H{constructor(e,t,i,n){super(),this.languageConfigurationService=n,this._disposed=!1,this._modelService=e,this._keepIdleModels=t,this._workerFactory=new gx(i),this._worker=null,this._modelManager=null}fhr(e,t){throw new Error("Not implemented!")}_getOrCreateWorker(){if(!this._worker)try{this._worker=this._register(new Vle(this._workerFactory,"vs/editor/common/services/editorSimpleWorker",new aI(this)))}catch(e){uA(e),this._worker=new pB(new rh(new aI(this),null))}return this._worker}_getProxy(){return this._getOrCreateWorker().getProxyObject().then(void 0,e=>(uA(e),this._worker=new pB(new rh(new aI(this),null)),this._getOrCreateWorker().getProxyObject()))}_getOrCreateModelManager(e){return this._modelManager||(this._modelManager=this._register(new Hce(e,this._modelService,this._keepIdleModels))),this._modelManager}async _withSyncedResources(e,t=!1){return this._disposed?Promise.reject(Woe()):this._getProxy().then(i=>(this._getOrCreateModelManager(i).ensureSyncedResources(e,t),i))}computedUnicodeHighlights(e,t,i){return this._withSyncedResources([e]).then(n=>n.computeUnicodeHighlights(e.toString(),t,i))}computeDiff(e,t,i,n){return this._withSyncedResources([e,t],!0).then(o=>o.computeDiff(e.toString(),t.toString(),i,n))}computeMoreMinimalEdits(e,t,i){return this._withSyncedResources([e]).then(n=>n.computeMoreMinimalEdits(e.toString(),t,i))}computeLinks(e){return this._withSyncedResources([e]).then(t=>t.computeLinks(e.toString()))}computeDefaultDocumentColors(e){return this._withSyncedResources([e]).then(t=>t.computeDefaultDocumentColors(e.toString()))}async textualSuggest(e,t,i){const n=await this._withSyncedResources(e),o=i.source,r=i.flags;return n.textualSuggest(e.map(a=>a.toString()),t,o,r)}computeWordRanges(e,t){return this._withSyncedResources([e]).then(i=>{const n=this._modelService.getModel(e);if(!n)return Promise.resolve(null);const o=this.languageConfigurationService.getLanguageConfiguration(n.getLanguageId()).getWordDefinition(),r=o.source,a=o.flags;return i.computeWordRanges(e.toString(),t,r,a)})}navigateValueSet(e,t,i){return this._withSyncedResources([e]).then(n=>{const o=this._modelService.getModel(e);if(!o)return null;const r=this.languageConfigurationService.getLanguageConfiguration(o.getLanguageId()).getWordDefinition(),a=r.source,l=r.flags;return n.navigateValueSet(e.toString(),t,i,a,l)})}findSectionHeaders(e,t){return this._withSyncedResources([e]).then(i=>i.findSectionHeaders(e.toString(),t))}dispose(){super.dispose(),this._disposed=!0}}function Vce(s,e,t){return new zce(s,e,t)}class zce extends LF{constructor(e,t,i){super(e,i.keepIdleModels||!1,i.label,t),this._foreignModuleId=i.moduleId,this._foreignModuleCreateData=i.createData||null,this._foreignModuleHost=i.host||null,this._foreignProxy=null}fhr(e,t){if(!this._foreignModuleHost||typeof this._foreignModuleHost[e]!="function")return Promise.reject(new Error("Missing method "+e+" or missing main thread foreign host."));try{return Promise.resolve(this._foreignModuleHost[e].apply(this._foreignModuleHost,t))}catch(i){return Promise.reject(i)}}_getForeignProxy(){return this._foreignProxy||(this._foreignProxy=this._getProxy().then(e=>{const t=this._foreignModuleHost?BP(this._foreignModuleHost):[];return e.loadForeignModule(this._foreignModuleId,this._foreignModuleCreateData,t).then(i=>{this._foreignModuleCreateData=null;const n=(a,l)=>e.fmr(a,l),o=(a,l)=>function(){const d=Array.prototype.slice.call(arguments,0);return l(a,d)},r={};for(const a of i)r[a]=o(a,n);return r})})),this._foreignProxy}getProxy(){return this._getForeignProxy()}withSyncedResources(e){return this._withSyncedResources(e).then(t=>this.getProxy())}}const p1={ICodeEditor:"vs.editor.ICodeEditor",IDiffEditor:"vs.editor.IDiffEditor"},Ub=new class{clone(){return this}equals(s){return this===s}};function mU(s,e){return new ZP([new Ib(0,"",s)],e)}function xF(s,e){const t=new Uint32Array(2);return t[0]=0,t[1]=(s<<0|0|0|32768|2<<24)>>>0,new KL(t,e===null?Ub:e)}class yo{static getLanguageId(e){return(e&255)>>>0}static getTokenType(e){return(e&768)>>>8}static containsBalancedBrackets(e){return(e&1024)!==0}static getFontStyle(e){return(e&30720)>>>11}static getForeground(e){return(e&16744448)>>>15}static getBackground(e){return(e&4278190080)>>>24}static getClassNameFromMetadata(e){let i="mtk"+this.getForeground(e);const n=this.getFontStyle(e);return n&1&&(i+=" mtki"),n&2&&(i+=" mtkb"),n&4&&(i+=" mtku"),n&8&&(i+=" mtks"),i}static getInlineStyleFromMetadata(e,t){const i=this.getForeground(e),n=this.getFontStyle(e);let o=`color: ${t[i]};`;n&1&&(o+="font-style: italic;"),n&2&&(o+="font-weight: bold;");let r="";return n&4&&(r+=" underline"),n&8&&(r+=" line-through"),r&&(o+=`text-decoration:${r};`),o}static getPresentationFromMetadata(e){const t=this.getForeground(e),i=this.getFontStyle(e);return{foreground:t,italic:!!(i&1),bold:!!(i&2),underline:!!(i&4),strikethrough:!!(i&8)}}}class wn{static createEmpty(e,t){const i=wn.defaultTokenMetadata,n=new Uint32Array(2);return n[0]=e.length,n[1]=i,new wn(n,e,t)}constructor(e,t,i){this._lineTokensBrand=void 0,this._tokens=e,this._tokensCount=this._tokens.length>>>1,this._text=t,this._languageIdCodec=i}equals(e){return e instanceof wn?this.slicedEquals(e,0,this._tokensCount):!1}slicedEquals(e,t,i){if(this._text!==e._text||this._tokensCount!==e._tokensCount)return!1;const n=t<<1,o=n+(i<<1);for(let r=n;r 0?this._tokens[e-1<<1]:0}getMetadata(e){return this._tokens[(e<<1)+1]}getLanguageId(e){const t=this._tokens[(e<<1)+1],i=yo.getLanguageId(t);return this._languageIdCodec.decodeLanguageId(i)}getStandardTokenType(e){const t=this._tokens[(e<<1)+1];return yo.getTokenType(t)}getForeground(e){const t=this._tokens[(e<<1)+1];return yo.getForeground(t)}getClassName(e){const t=this._tokens[(e<<1)+1];return yo.getClassNameFromMetadata(t)}getInlineStyle(e,t){const i=this._tokens[(e<<1)+1];return yo.getInlineStyleFromMetadata(i,t)}getPresentation(e){const t=this._tokens[(e<<1)+1];return yo.getPresentationFromMetadata(t)}getEndOffset(e){return this._tokens[e<<1]}findTokenIndexAtOffset(e){return wn.findIndexInTokensArray(this._tokens,e)}inflate(){return this}sliceAndInflate(e,t,i){return new kF(this,e,t,i)}static convertToEndOffset(e,t){const n=(e.length>>>1)-1;for(let o=0;o >>1)-1;for(;i t&&(n=o)}return i}withInserted(e){if(e.length===0)return this;let t=0,i=0,n="";const o=new Array;let r=0;for(;;){const a=t r){n+=this._text.substring(r,l.offset);const d=this._tokens[(t<<1)+1];o.push(n.length,d),r=l.offset}n+=l.text,o.push(n.length,l.tokenMetadata),i++}else break}return new wn(new Uint32Array(o),n,this._languageIdCodec)}}wn.defaultTokenMetadata=(32768|2<<24)>>>0;class kF{constructor(e,t,i,n){this._source=e,this._startOffset=t,this._endOffset=i,this._deltaOffset=n,this._firstTokenIndex=e.findTokenIndexAtOffset(t),this._tokensCount=0;for(let o=this._firstTokenIndex,r=e.getCount();o =i);o++)this._tokensCount++}getMetadata(e){return this._source.getMetadata(this._firstTokenIndex+e)}getLanguageId(e){return this._source.getLanguageId(this._firstTokenIndex+e)}getLineContent(){return this._source.getLineContent().substring(this._startOffset,this._endOffset)}equals(e){return e instanceof kF?this._startOffset===e._startOffset&&this._endOffset===e._endOffset&&this._deltaOffset===e._deltaOffset&&this._source.slicedEquals(e._source,this._firstTokenIndex,this._tokensCount):!1}getCount(){return this._tokensCount}getForeground(e){return this._source.getForeground(this._firstTokenIndex+e)}getEndOffset(e){const t=this._source.getEndOffset(this._firstTokenIndex+e);return Math.min(this._endOffset,t)-this._startOffset+this._deltaOffset}getClassName(e){return this._source.getClassName(this._firstTokenIndex+e)}getInlineStyle(e,t){return this._source.getInlineStyle(this._firstTokenIndex+e,t)}getPresentation(e){return this._source.getPresentation(this._firstTokenIndex+e)}findTokenIndexAtOffset(e){return this._source.findTokenIndexAtOffset(e+this._startOffset-this._deltaOffset)-this._firstTokenIndex}}class Os{constructor(e,t,i,n){this.startColumn=e,this.endColumn=t,this.className=i,this.type=n,this._lineDecorationBrand=void 0}static _equals(e,t){return e.startColumn===t.startColumn&&e.endColumn===t.endColumn&&e.className===t.className&&e.type===t.type}static equalsArr(e,t){const i=e.length,n=t.length;if(i!==n)return!1;for(let o=0;o=o||(a[l++]=new Os(Math.max(1,d.startColumn-n+1),Math.min(r+1,d.endColumn-n+1),d.className,d.type));return a}static filter(e,t,i,n){if(e.length===0)return[];const o=[];let r=0;for(let a=0,l=e.length;a t||c.isEmpty()&&(d.type===0||d.type===3))continue;const u=c.startLineNumber===t?c.startColumn:i,h=c.endLineNumber===t?c.endColumn:n;o[r++]=new Os(u,h,d.inlineClassName,d.type)}return o}static _typeCompare(e,t){const i=[2,0,1,3];return i[e]-i[t]}static compare(e,t){if(e.startColumn!==t.startColumn)return e.startColumn-t.startColumn;if(e.endColumn!==t.endColumn)return e.endColumn-t.endColumn;const i=Os._typeCompare(e.type,t.type);return i!==0?i:e.className!==t.className?e.className 0&&this.stopOffsets[0] 0&&t =e){this.stopOffsets.splice(n,0,e),this.classNames.splice(n,0,t),this.metadata.splice(n,0,i);break}this.count++}}class Uce{static normalize(e,t){if(t.length===0)return[];const i=[],n=new JS;let o=0;for(let r=0,a=t.length;r1){const m=e.charCodeAt(d-2);Cn(m)&&d--}if(c>1){const m=e.charCodeAt(c-2);Cn(m)&&c--}const g=d-1,f=c-2;o=n.consumeLowerThan(g,o,i),n.count===0&&(o=g),n.insert(f,u,h)}return n.consumeLowerThan(1073741824,o,i),i}}class Tn{constructor(e,t,i,n){this.endIndex=e,this.type=t,this.metadata=i,this.containsRTL=n,this._linePartBrand=void 0}isWhitespace(){return!!(this.metadata&1)}isPseudoAfter(){return!!(this.metadata&4)}}class _U{constructor(e,t){this.startOffset=e,this.endOffset=t}equals(e){return this.startOffset===e.startOffset&&this.endOffset===e.endOffset}}class tg{constructor(e,t,i,n,o,r,a,l,d,c,u,h,g,f,m,_,v,b,C){this.useMonospaceOptimizations=e,this.canUseHalfwidthRightwardsArrow=t,this.lineContent=i,this.continuesWithWrappedLine=n,this.isBasicASCII=o,this.containsRTL=r,this.fauxIndentLength=a,this.lineTokens=l,this.lineDecorations=d.sort(Os.compare),this.tabSize=c,this.startVisibleColumn=u,this.spaceWidth=h,this.stopRenderingLineAfter=m,this.renderWhitespace=_==="all"?4:_==="boundary"?1:_==="selection"?2:_==="trailing"?3:0,this.renderControlCharacters=v,this.fontLigatures=b,this.selectionsOnLine=C&&C.sort((D,L)=>D.startOffset >>16}static getCharIndex(e){return(e&65535)>>>0}constructor(e,t){this.length=e,this._data=new Uint32Array(this.length),this._horizontalOffset=new Uint32Array(this.length)}setColumnInfo(e,t,i,n){const o=(t<<16|i<<0)>>>0;this._data[e-1]=o,this._horizontalOffset[e-1]=n}getHorizontalOffset(e){return this._horizontalOffset.length===0?0:this._horizontalOffset[e-1]}charOffsetToPartData(e){return this.length===0?0:e<0?this._data[0]:e>=this.length?this._data[this.length-1]:this._data[e]}getDomPosition(e){const t=this.charOffsetToPartData(e-1),i=Bl.getPartIndex(t),n=Bl.getCharIndex(t);return new vU(i,n)}getColumn(e,t){return this.partDataToCharOffset(e.partIndex,t,e.charIndex)+1}partDataToCharOffset(e,t,i){if(this.length===0)return 0;const n=(e<<16|i<<0)>>>0;let o=0,r=this.length-1;for(;o+1 >>1,_=this._data[m];if(_===n)return m;_>n?r=m:o=m}if(o===r)return o;const a=this._data[o],l=this._data[r];if(a===n)return o;if(l===n)return r;const d=Bl.getPartIndex(a),c=Bl.getCharIndex(a),u=Bl.getPartIndex(l);let h;d!==u?h=t:h=Bl.getCharIndex(l);const g=i-c,f=h-i;return g<=f?o:r}}class wA{constructor(e,t,i){this._renderLineOutputBrand=void 0,this.characterMapping=e,this.containsRTL=t,this.containsForeignElements=i}}function m1(s,e){if(s.lineContent.length===0){if(s.lineDecorations.length>0){e.appendString("");let t=0,i=0,n=0;for(const r of s.lineDecorations)(r.type===1||r.type===2)&&(e.appendString(''),r.type===1&&(n|=1,t++),r.type===2&&(n|=2,i++));e.appendString("");const o=new Bl(1,t+i);return o.setColumnInfo(1,t,0,0),new wA(o,!1,n)}return e.appendString(""),new wA(new Bl(0,0),!1,0)}return Qce(Kce(s),e)}class $ce{constructor(e,t,i,n){this.characterMapping=e,this.html=t,this.containsRTL=i,this.containsForeignElements=n}}function bx(s){const e=new l0(1e4),t=m1(s,e);return new $ce(t.characterMapping,e.build(),t.containsRTL,t.containsForeignElements)}class jce{constructor(e,t,i,n,o,r,a,l,d,c,u,h,g,f,m,_){this.fontIsMonospace=e,this.canUseHalfwidthRightwardsArrow=t,this.lineContent=i,this.len=n,this.isOverflowing=o,this.overflowingCharCount=r,this.parts=a,this.containsForeignElements=l,this.fauxIndentLength=d,this.tabSize=c,this.startVisibleColumn=u,this.containsRTL=h,this.spaceWidth=g,this.renderSpaceCharCode=f,this.renderWhitespace=m,this.renderControlCharacters=_}}function Kce(s){const e=s.lineContent;let t,i,n;s.stopRenderingLineAfter!==-1&&s.stopRenderingLineAfter 0){for(let a=0,l=s.lineDecorations.length;a 0&&(o[r++]=new Tn(i,"",0,!1));let a=i;for(let l=0,d=t.getCount();l =n){const g=e?d_(s.substring(a,n)):!1;o[r++]=new Tn(n,u,0,g);break}const h=e?d_(s.substring(a,c)):!1;o[r++]=new Tn(c,u,0,h),a=c}return o}function Gce(s,e,t){let i=0;const n=[];let o=0;if(t)for(let r=0,a=e.length;r=50&&(n[o++]=new Tn(g+1,c,u,h),f=g+1,g=-1);f!==d&&(n[o++]=new Tn(d,c,u,h))}else n[o++]=l;i=d}else for(let r=0,a=e.length;r50){const u=l.type,h=l.metadata,g=l.containsRTL,f=Math.ceil(c/50);for(let m=1;m =8234&&s<=8238||s>=8294&&s<=8297||s>=8206&&s<=8207||s===1564}function Zce(s,e){const t=[];let i=new Tn(0,"",0,!1),n=0;for(const o of e){const r=o.endIndex;for(;n i.endIndex&&(i=new Tn(n,o.type,o.metadata,o.containsRTL),t.push(i)),i=new Tn(n+1,"mtkcontrol",o.metadata,!1),t.push(i))}n>i.endIndex&&(i=new Tn(r,o.type,o.metadata,o.containsRTL),t.push(i))}return t}function Xce(s,e,t,i){const n=s.continuesWithWrappedLine,o=s.fauxIndentLength,r=s.tabSize,a=s.startVisibleColumn,l=s.useMonospaceOptimizations,d=s.selectionsOnLine,c=s.renderWhitespace===1,u=s.renderWhitespace===3,h=s.renderSpaceWidth!==s.spaceWidth,g=[];let f=0,m=0,_=i[m].type,v=i[m].containsRTL,b=i[m].endIndex;const C=i.length;let w=!1,y=Cs(e),D;y===-1?(w=!0,y=t,D=t):D=Ya(e);let L=!1,k=0,I=d&&d[k],O=a%r;for(let P=o;P =I.endOffset&&(k++,I=d&&d[k]);let V;if(P D)V=!0;else if(F===9)V=!0;else if(F===32)if(c)if(L)V=!0;else{const U=P+1 P),V&&u&&(V=w||P>D),V&&v&&P>=y&&P<=D&&(V=!1),L){if(!V||!l&&O>=r){if(h){const U=f>0?g[f-1].endIndex:o;for(let J=U+1;J<=P;J++)g[f++]=new Tn(J,"mtkw",1,!1)}else g[f++]=new Tn(P,"mtkw",1,!1);O=O%r}}else(P===b||V&&P>o)&&(g[f++]=new Tn(P,_,0,v),O=O%r);for(F===9?O=r:Dh(F)?O+=2:O++,L=V;P===b&&(m++,m 0?e.charCodeAt(t-1):0,F=t>1?e.charCodeAt(t-2):0;P===32&&F!==32&&F!==9||(R=!0)}else R=!0;if(R)if(h){const P=f>0?g[f-1].endIndex:o;for(let F=P+1;F<=t;F++)g[f++]=new Tn(F,"mtkw",1,!1)}else g[f++]=new Tn(t,"mtkw",1,!1);else g[f++]=new Tn(t,_,0,v);return g}function Yce(s,e,t,i){i.sort(Os.compare);const n=Uce.normalize(s,i),o=n.length;let r=0;const a=[];let l=0,d=0;for(let u=0,h=t.length;u d&&(d=b.startOffset,a[l++]=new Tn(d,m,_,v)),b.endOffset+1<=f)d=b.endOffset+1,a[l++]=new Tn(d,m+" "+b.className,_|b.metadata,v),r++;else{d=f,a[l++]=new Tn(d,m+" "+b.className,_|b.metadata,v);break}}f>d&&(d=f,a[l++]=new Tn(d,m,_,v))}const c=t[t.length-1].endIndex;if(r '):e.appendString("");for(let I=0,O=d.length;I =c&&(We+=ve)}}for(J&&(e.appendString(' style="width:'),e.appendString(String(f*De)),e.appendString('px"')),e.appendASCIICharCode(62);w ")}return C||b.setColumnInfo(r+1,d.length-1,D,L),a&&(e.appendString(''),e.appendString(p("showMore","Show more ({0})",eue(l))),e.appendString("")),e.appendString(""),new wA(b,g,n)}function Jce(s){return s.toString(16).toUpperCase().padStart(4,"0")}function eue(s){return s<1024?p("overflow.chars","{0} chars",s):s<1024*1024?`${(s/1024).toFixed(1)} KB`:`${(s/1024/1024).toFixed(1)} MB`}class _B{constructor(e,t,i,n){this._viewportBrand=void 0,this.top=e|0,this.left=t|0,this.width=i|0,this.height=n|0}}class tue{constructor(e,t){this.tabSize=e,this.data=t}}class EF{constructor(e,t,i,n,o,r,a){this._viewLineDataBrand=void 0,this.content=e,this.continuesWithWrappedLine=t,this.minColumn=i,this.maxColumn=n,this.startVisibleColumn=o,this.tokens=r,this.inlineDecorations=a}}class lr{constructor(e,t,i,n,o,r,a,l,d,c){this.minColumn=e,this.maxColumn=t,this.content=i,this.continuesWithWrappedLine=n,this.isBasicASCII=lr.isBasicASCII(i,r),this.containsRTL=lr.containsRTL(i,this.isBasicASCII,o),this.tokens=a,this.inlineDecorations=l,this.tabSize=d,this.startVisibleColumn=c}static isBasicASCII(e,t){return t?c1(e):!0}static containsRTL(e,t,i){return!t&&i?d_(e):!1}}class $v{constructor(e,t,i){this.range=e,this.inlineClassName=t,this.type=i}}class iue{constructor(e,t,i,n){this.startOffset=e,this.endOffset=t,this.inlineClassName=i,this.inlineClassNameAffectsLetterSpacing=n}toInlineDecoration(e){return new $v(new x(e,this.startOffset+1,e,this.endOffset+1),this.inlineClassName,this.inlineClassNameAffectsLetterSpacing?3:0)}}class CU{constructor(e,t){this._viewModelDecorationBrand=void 0,this.range=e,this.options=t}}class $b{constructor(e,t,i){this.color=e,this.zIndex=t,this.data=i}static compareByRenderingProps(e,t){return e.zIndex===t.zIndex?e.color1?e.appendCharCode(8594):e.appendCharCode(65515);for(let ve=2;ve<=ye;ve++)e.appendCharCode(160)}else We=2,ye=1,e.appendCharCode(m),e.appendCharCode(8204);D+=We,L+=ye,w>=c&&(y+=ye)}}else for(e.appendASCIICharCode(62);w
=c&&(y+=We)}pe?k++:k=0,w>=r&&!C&&R.isPseudoAfter()&&(C=!0,b.setColumnInfo(w+1,I,D,L)),e.appendString("
t.color?1:0:e.zIndex-t.zIndex}static equals(e,t){return e.color===t.color&&e.zIndex===t.zIndex&&Ci(e.data,t.data)}static equalsArr(e,t){return Ci(e,t,$b.equals)}}function nue(s){return Array.isArray(s)}function sue(s){return!nue(s)}function wU(s){return typeof s=="string"}function vB(s){return!wU(s)}function Og(s){return!s}function Tc(s,e){return s.ignoreCase&&e?e.toLowerCase():e}function bB(s){return s.replace(/[&<>'"_]/g,"-")}function oue(s,e){console.log(`${s.languageId}: ${e}`)}function ai(s,e){return new Error(`${s.languageId}: ${e}`)}function Tu(s,e,t,i,n){const o=/\$((\$)|(#)|(\d\d?)|[sS](\d\d?)|@(\w+))/g;let r=null;return e.replace(o,function(a,l,d,c,u,h,g,f,m){return Og(d)?Og(c)?!Og(u)&&u 0;){const i=s.tokenizer[t];if(i)return i;const n=t.lastIndexOf(".");n<0?t=null:t=t.substr(0,n)}return null}function aue(s,e){let t=e;for(;t&&t.length>0;){if(s.stateNames[t])return!0;const n=t.lastIndexOf(".");n<0?t=null:t=t.substr(0,n)}return!1}var lue=function(s,e,t,i){var n=arguments.length,o=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(o=(n<3?r(o):n>3?r(e,t,o):r(e,t))||o);return n>3&&o&&Object.defineProperty(e,t,o),o},due=function(s,e){return function(t,i){e(t,i,s)}},yA;const yU=5;class jb{static create(e,t){return this._INSTANCE.create(e,t)}constructor(e){this._maxCacheDepth=e,this._entries=Object.create(null)}create(e,t){if(e!==null&&e.depth>=this._maxCacheDepth)return new Mm(e,t);let i=Mm.getStackElementId(e);i.length>0&&(i+="|"),i+=t;let n=this._entries[i];return n||(n=new Mm(e,t),this._entries[i]=n,n)}}jb._INSTANCE=new jb(yU);class Mm{constructor(e,t){this.parent=e,this.state=t,this.depth=(this.parent?this.parent.depth:0)+1}static getStackElementId(e){let t="";for(;e!==null;)t.length>0&&(t+="|"),t+=e.state,e=e.parent;return t}static _equals(e,t){for(;e!==null&&t!==null;){if(e===t)return!0;if(e.state!==t.state)return!1;e=e.parent,t=t.parent}return e===null&&t===null}equals(e){return Mm._equals(this,e)}push(e){return jb.create(this,e)}pop(){return this.parent}popall(){let e=this;for(;e.parent;)e=e.parent;return e}switchTo(e){return jb.create(this.parent,e)}}class sm{constructor(e,t){this.languageId=e,this.state=t}equals(e){return this.languageId===e.languageId&&this.state.equals(e.state)}clone(){return this.state.clone()===this.state?this:new sm(this.languageId,this.state)}}class Nu{static create(e,t){return this._INSTANCE.create(e,t)}constructor(e){this._maxCacheDepth=e,this._entries=Object.create(null)}create(e,t){if(t!==null)return new jv(e,t);if(e!==null&&e.depth>=this._maxCacheDepth)return new jv(e,t);const i=Mm.getStackElementId(e);let n=this._entries[i];return n||(n=new jv(e,null),this._entries[i]=n,n)}}Nu._INSTANCE=new Nu(yU);class jv{constructor(e,t){this.stack=e,this.embeddedLanguageData=t}clone(){return(this.embeddedLanguageData?this.embeddedLanguageData.clone():null)===this.embeddedLanguageData?this:Nu.create(this.stack,this.embeddedLanguageData)}equals(e){return!(e instanceof jv)||!this.stack.equals(e.stack)?!1:this.embeddedLanguageData===null&&e.embeddedLanguageData===null?!0:this.embeddedLanguageData===null||e.embeddedLanguageData===null?!1:this.embeddedLanguageData.equals(e.embeddedLanguageData)}}class cue{constructor(){this._tokens=[],this._languageId=null,this._lastTokenType=null,this._lastTokenLanguage=null}enterLanguage(e){this._languageId=e}emit(e,t){this._lastTokenType===t&&this._lastTokenLanguage===this._languageId||(this._lastTokenType=t,this._lastTokenLanguage=this._languageId,this._tokens.push(new Ib(e,t,this._languageId)))}nestedLanguageTokenize(e,t,i,n){const o=i.languageId,r=i.state,a=Ki.get(o);if(!a)return this.enterLanguage(o),this.emit(n,""),r;const l=a.tokenize(e,t,r);if(n!==0)for(const d of l.tokens)this._tokens.push(new Ib(d.offset+n,d.type,d.language));else this._tokens=this._tokens.concat(l.tokens);return this._lastTokenType=null,this._lastTokenLanguage=null,this._languageId=null,l.endState}finalize(e){return new ZP(this._tokens,e)}}class eD{constructor(e,t){this._languageService=e,this._theme=t,this._prependTokens=null,this._tokens=[],this._currentLanguageId=0,this._lastTokenMetadata=0}enterLanguage(e){this._currentLanguageId=this._languageService.languageIdCodec.encodeLanguageId(e)}emit(e,t){const i=this._theme.match(this._currentLanguageId,t)|1024;this._lastTokenMetadata!==i&&(this._lastTokenMetadata=i,this._tokens.push(e),this._tokens.push(i))}static _merge(e,t,i){const n=e!==null?e.length:0,o=t.length,r=i!==null?i.length:0;if(n===0&&o===0&&r===0)return new Uint32Array(0);if(n===0&&o===0)return i;if(o===0&&r===0)return e;const a=new Uint32Array(n+o+r);e!==null&&a.set(e);for(let l=0;l {if(r)return;let l=!1;for(let d=0,c=a.changedLanguages.length;d {a.affectsConfiguration("editor.maxTokenizationLineLength")&&(this._maxTokenizationLineLength=this._configurationService.getValue("editor.maxTokenizationLineLength",{overrideIdentifier:this._languageId}))}))}getLoadStatus(){const e=[];for(const t in this._embeddedLanguages){const i=Ki.get(t);if(i){if(i instanceof yA){const n=i.getLoadStatus();n.loaded===!1&&e.push(n.promise)}continue}Ki.isResolved(t)||e.push(Ki.getOrCreate(t))}return e.length===0?{loaded:!0}:{loaded:!1,promise:Promise.all(e).then(t=>{})}}getInitialState(){const e=jb.create(null,this._lexer.start);return Nu.create(e,null)}tokenize(e,t,i){if(e.length>=this._maxTokenizationLineLength)return mU(this._languageId,i);const n=new cue,o=this._tokenize(e,t,i,n);return n.finalize(o)}tokenizeEncoded(e,t,i){if(e.length>=this._maxTokenizationLineLength)return xF(this._languageService.languageIdCodec.encodeLanguageId(this._languageId),i);const n=new eD(this._languageService,this._standaloneThemeService.getColorTheme().tokenTheme),o=this._tokenize(e,t,i,n);return n.finalize(o)}_tokenize(e,t,i,n){return i.embeddedLanguageData?this._nestedTokenize(e,t,i,0,n):this._myTokenize(e,t,i,0,n)}_findLeavingNestedLanguageOffset(e,t){let i=this._lexer.tokenizer[t.stack.state];if(!i&&(i=vw(this._lexer,t.stack.state),!i))throw ai(this._lexer,"tokenizer state is not defined: "+t.stack.state);let n=-1,o=!1;for(const r of i){if(!vB(r.action)||r.action.nextEmbedded!=="@pop")continue;o=!0;let a=r.resolveRegex(t.stack.state);const l=a.source;if(l.substr(0,4)==="^(?:"&&l.substr(l.length-1,1)===")"){const c=(a.ignoreCase?"i":"")+(a.unicode?"u":"");a=new RegExp(l.substr(4,l.length-5),c)}const d=e.search(a);d===-1||d!==0&&r.matchOnlyAtLineStart||(n===-1||d 0&&o.nestedLanguageTokenize(a,!1,i.embeddedLanguageData,n);const l=e.substring(r);return this._myTokenize(l,t,i,n+r,o)}_safeRuleName(e){return e?e.name:"(unknown)"}_myTokenize(e,t,i,n,o){o.enterLanguage(this._languageId);const r=e.length,a=t&&this._lexer.includeLF?e+` `:e,l=a.length;let d=i.embeddedLanguageData,c=i.stack,u=0,h=null,g=!0;for(;g||u =l)break;g=!1;let I=this._lexer.tokenizer[v];if(!I&&(I=vw(this._lexer,v),!I))throw ai(this._lexer,"tokenizer state is not defined: "+v);const O=a.substr(u);for(const R of I)if((u===0||!R.matchOnlyAtLineStart)&&(b=O.match(R.resolveRegex(v)),b)){C=b[0],w=R.action;break}}if(b||(b=[""],C=""),w||(u =this._lexer.maxStack)throw ai(this._lexer,"maximum tokenizer stack size reached: ["+c.state+","+c.parent.state+",...]");c=c.push(v)}else if(w.next==="@pop"){if(c.depth<=1)throw ai(this._lexer,"trying to pop an empty stack in rule: "+this._safeRuleName(y));c=c.pop()}else if(w.next==="@popall")c=c.popall();else{let I=Tu(this._lexer,w.next,C,b,v);if(I[0]==="@"&&(I=I.substr(1)),vw(this._lexer,I))c=c.push(I);else throw ai(this._lexer,"trying to set a next state '"+I+"' that is undefined in rule: "+this._safeRuleName(y))}}w.log&&typeof w.log=="string"&&oue(this._lexer,this._lexer.languageId+": "+Tu(this._lexer,w.log,C,b,v))}if(L===null)throw ai(this._lexer,"lexer rule has no well-defined action in rule: "+this._safeRuleName(y));const k=I=>{const O=this._languageService.getLanguageIdByLanguageName(I)||this._languageService.getLanguageIdByMimeType(I)||I,R=this._getNestedEmbeddedLanguageData(O);if(u 0)throw ai(this._lexer,"groups cannot be nested: "+this._safeRuleName(y));if(b.length!==L.length+1)throw ai(this._lexer,"matched number of groups does not match the number of actions in rule: "+this._safeRuleName(y));let I=0;for(let O=1;O s});class IF{static colorizeElement(e,t,i,n){n=n||{};const o=n.theme||"vs",r=n.mimeType||i.getAttribute("lang")||i.getAttribute("data-lang");if(!r)return console.error("Mode not detected"),Promise.resolve();const a=t.getLanguageIdByMimeType(r)||r;e.setTheme(o);const l=i.firstChild?i.firstChild.nodeValue:"";i.className+=" "+o;const d=c=>{var u;const h=(u=lI==null?void 0:lI.createHTML(c))!==null&&u!==void 0?u:c;i.innerHTML=h};return this.colorize(t,l||"",a,n).then(d,c=>console.error(c))}static async colorize(e,t,i,n){const o=e.languageIdCodec;let r=4;n&&typeof n.tabSize=="number"&&(r=n.tabSize),iF(t)&&(t=t.substr(1));const a=Td(t);if(!e.isRegisteredLanguageId(i))return CB(a,r,o);const l=await Ki.getOrCreate(i);return l?hue(a,r,l,o):CB(a,r,o)}static colorizeLine(e,t,i,n,o=4){const r=lr.isBasicASCII(e,t),a=lr.containsRTL(e,r,i);return bx(new tg(!1,!0,e,!1,r,a,0,n,[],o,0,0,0,0,-1,"none",!1,!1,null)).html}static colorizeModelLine(e,t,i=4){const n=e.getLineContent(t);e.tokenization.forceTokenization(t);const r=e.tokenization.getLineTokens(t).inflate();return this.colorizeLine(n,e.mightContainNonBasicASCII(),e.mightContainRTL(),r,i)}}function hue(s,e,t,i){return new Promise((n,o)=>{const r=()=>{const a=gue(s,e,t,i);if(t instanceof Kb){const l=t.getLoadStatus();if(l.loaded===!1){l.promise.then(r,o);return}}n(a)};r()})}function CB(s,e,t){let i=[];const o=new Uint32Array(2);o[0]=0,o[1]=33587200;for(let r=0,a=s.length;r")}return i.join("")}function gue(s,e,t,i){let n=[],o=t.getInitialState();for(let r=0,a=s.length;r"),o=d.endState}return n.join("")}const wB=2e4;let Bg,Uy,SA,$y,DA;function fue(s){Bg=document.createElement("div"),Bg.className="monaco-aria-container";const e=()=>{const i=document.createElement("div");return i.className="monaco-alert",i.setAttribute("role","alert"),i.setAttribute("aria-atomic","true"),Bg.appendChild(i),i};Uy=e(),SA=e();const t=()=>{const i=document.createElement("div");return i.className="monaco-status",i.setAttribute("aria-live","polite"),i.setAttribute("aria-atomic","true"),Bg.appendChild(i),i};$y=t(),DA=t(),s.appendChild(Bg)}function fo(s){Bg&&(Uy.textContent!==s?(zn(SA),tD(Uy,s)):(zn(Uy),tD(SA,s)))}function Uc(s){Bg&&($y.textContent!==s?(zn(DA),tD($y,s)):(zn($y),tD(DA,s)))}function tD(s,e){zn(s),e.length>wB&&(e=e.substr(0,wB)),s.textContent=e,s.style.visibility="hidden",s.style.visibility="visible"}const TF=ut("markerDecorationsService");var pue=function(s,e,t,i){var n=arguments.length,o=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(o=(n<3?r(o):n>3?r(e,t,o):r(e,t))||o);return n>3&&o&&Object.defineProperty(e,t,o),o},mue=function(s,e){return function(t,i){e(t,i,s)}};let qb=class{constructor(e,t){}dispose(){}};qb.ID="editor.contrib.markerDecorations";qb=pue([mue(1,TF)],qb);kt(qb.ID,qb,0);class SU extends H{constructor(e,t){super(),this._onDidChange=this._register(new B),this.onDidChange=this._onDidChange.event,this._referenceDomElement=e,this._width=-1,this._height=-1,this._resizeObserver=null,this.measureReferenceDomElement(!1,t)}dispose(){this.stopObserving(),super.dispose()}getWidth(){return this._width}getHeight(){return this._height}startObserving(){if(!this._resizeObserver&&this._referenceDomElement){let e=null;const t=()=>{e?this.observe({width:e.width,height:e.height}):this.observe()};let i=!1,n=!1;const o=()=>{if(i&&!n)try{i=!1,n=!0,t()}finally{Ao(Te(this._referenceDomElement),()=>{n=!1,o()})}};this._resizeObserver=new ResizeObserver(r=>{r&&r[0]&&r[0].contentRect?e={width:r[0].contentRect.width,height:r[0].contentRect.height}:e=null,i=!0,o()}),this._resizeObserver.observe(this._referenceDomElement)}}stopObserving(){this._resizeObserver&&(this._resizeObserver.disconnect(),this._resizeObserver=null)}observe(e){this.measureReferenceDomElement(!0,e)}measureReferenceDomElement(e,t){let i=0,n=0;t?(i=t.width,n=t.height):this._referenceDomElement&&(i=this._referenceDomElement.clientWidth,n=this._referenceDomElement.clientHeight),i=Math.max(5,i),n=Math.max(5,n),(this._width!==i||this._height!==n)&&(this._width=i,this._height=n,e&&this._onDidChange.fire())}}class ah{constructor(e,t){this.key=e,this.migrate=t}apply(e){const t=ah._read(e,this.key),i=o=>ah._read(e,o),n=(o,r)=>ah._write(e,o,r);this.migrate(t,i,n)}static _read(e,t){if(typeof e>"u")return;const i=t.indexOf(".");if(i>=0){const n=t.substring(0,i);return this._read(e[n],t.substring(i+1))}return e[t]}static _write(e,t,i){const n=t.indexOf(".");if(n>=0){const o=t.substring(0,n);e[o]=e[o]||{},this._write(e[o],t.substring(n+1),i);return}e[t]=i}}ah.items=[];function ml(s,e){ah.items.push(new ah(s,e))}function Po(s,e){ml(s,(t,i,n)=>{if(typeof t<"u"){for(const[o,r]of e)if(t===o){n(s,r);return}}})}function _ue(s){ah.items.forEach(e=>e.apply(s))}Po("wordWrap",[[!0,"on"],[!1,"off"]]);Po("lineNumbers",[[!0,"on"],[!1,"off"]]);Po("cursorBlinking",[["visible","solid"]]);Po("renderWhitespace",[[!0,"boundary"],[!1,"none"]]);Po("renderLineHighlight",[[!0,"line"],[!1,"none"]]);Po("acceptSuggestionOnEnter",[[!0,"on"],[!1,"off"]]);Po("tabCompletion",[[!1,"off"],[!0,"onlySnippets"]]);Po("hover",[[!0,{enabled:!0}],[!1,{enabled:!1}]]);Po("parameterHints",[[!0,{enabled:!0}],[!1,{enabled:!1}]]);Po("autoIndent",[[!1,"advanced"],[!0,"full"]]);Po("matchBrackets",[[!0,"always"],[!1,"never"]]);Po("renderFinalNewline",[[!0,"on"],[!1,"off"]]);Po("cursorSmoothCaretAnimation",[[!0,"on"],[!1,"off"]]);Po("occurrencesHighlight",[[!0,"singleFile"],[!1,"off"]]);Po("wordBasedSuggestions",[[!0,"matchingDocuments"],[!1,"off"]]);ml("autoClosingBrackets",(s,e,t)=>{s===!1&&(t("autoClosingBrackets","never"),typeof e("autoClosingQuotes")>"u"&&t("autoClosingQuotes","never"),typeof e("autoSurround")>"u"&&t("autoSurround","never"))});ml("renderIndentGuides",(s,e,t)=>{typeof s<"u"&&(t("renderIndentGuides",void 0),typeof e("guides.indentation")>"u"&&t("guides.indentation",!!s))});ml("highlightActiveIndentGuide",(s,e,t)=>{typeof s<"u"&&(t("highlightActiveIndentGuide",void 0),typeof e("guides.highlightActiveIndentation")>"u"&&t("guides.highlightActiveIndentation",!!s))});const vue={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"};ml("suggest.filteredTypes",(s,e,t)=>{if(s&&typeof s=="object"){for(const i of Object.entries(vue))s[i[0]]===!1&&typeof e(`suggest.${i[1]}`)>"u"&&t(`suggest.${i[1]}`,!1);t("suggest.filteredTypes",void 0)}});ml("quickSuggestions",(s,e,t)=>{if(typeof s=="boolean"){const i=s?"on":"off";t("quickSuggestions",{comments:i,strings:i,other:i})}});ml("experimental.stickyScroll.enabled",(s,e,t)=>{typeof s=="boolean"&&(t("experimental.stickyScroll.enabled",void 0),typeof e("stickyScroll.enabled")>"u"&&t("stickyScroll.enabled",s))});ml("experimental.stickyScroll.maxLineCount",(s,e,t)=>{typeof s=="number"&&(t("experimental.stickyScroll.maxLineCount",void 0),typeof e("stickyScroll.maxLineCount")>"u"&&t("stickyScroll.maxLineCount",s))});ml("codeActionsOnSave",(s,e,t)=>{if(s&&typeof s=="object"){let i=!1;const n={};for(const o of Object.entries(s))typeof o[1]=="boolean"?(i=!0,n[o[0]]=o[1]?"explicit":"never"):n[o[0]]=o[1];i&&t("codeActionsOnSave",n)}});ml("codeActionWidget.includeNearbyQuickfixes",(s,e,t)=>{typeof s=="boolean"&&(t("codeActionWidget.includeNearbyQuickfixes",void 0),typeof e("codeActionWidget.includeNearbyQuickFixes")>"u"&&t("codeActionWidget.includeNearbyQuickFixes",s))});ml("lightbulb.enabled",(s,e,t)=>{typeof s=="boolean"&&t("lightbulb.enabled",s?void 0:"off")});class bue{constructor(){this._tabFocus=!1,this._onDidChangeTabFocus=new B,this.onDidChangeTabFocus=this._onDidChangeTabFocus.event}getTabFocusMode(){return this._tabFocus}setTabFocusMode(e){this._tabFocus=e,this._onDidChangeTabFocus.fire(this._tabFocus)}}const p_=new bue,gr=ut("accessibilityService"),_1=new ue("accessibilityModeEnabled",!1);var Cue=function(s,e,t,i){var n=arguments.length,o=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(o=(n<3?r(o):n>3?r(e,t,o):r(e,t))||o);return n>3&&o&&Object.defineProperty(e,t,o),o},wue=function(s,e){return function(t,i){e(t,i,s)}};let LA=class extends H{constructor(e,t,i,n,o){super(),this._accessibilityService=o,this._onDidChange=this._register(new B),this.onDidChange=this._onDidChange.event,this._onDidChangeFast=this._register(new B),this.onDidChangeFast=this._onDidChangeFast.event,this._isDominatedByLongLines=!1,this._viewLineCount=1,this._lineNumbersDigitCount=1,this._reservedHeight=0,this._glyphMarginDecorationLaneCount=1,this._computeOptionsMemory=new VV,this.isSimpleWidget=e,this.contextMenuId=t,this._containerObserver=this._register(new SU(n,i.dimension)),this._targetWindowId=Te(n).vscodeWindowId,this._rawOptions=yB(i),this._validatedOptions=Au.validateOptions(this._rawOptions),this.options=this._computeOptions(),this.options.get(13)&&this._containerObserver.startObserving(),this._register(Sr.onDidChangeZoomLevel(()=>this._recomputeOptions())),this._register(p_.onDidChangeTabFocus(()=>this._recomputeOptions())),this._register(this._containerObserver.onDidChange(()=>this._recomputeOptions())),this._register(aA.onDidChange(()=>this._recomputeOptions())),this._register(Ob.getInstance(Te(n)).onDidChange(()=>this._recomputeOptions())),this._register(this._accessibilityService.onDidChangeScreenReaderOptimized(()=>this._recomputeOptions()))}_recomputeOptions(){const e=this._computeOptions(),t=Au.checkEquals(this.options,e);t!==null&&(this.options=e,this._onDidChangeFast.fire(t),this._onDidChange.fire(t))}_computeOptions(){const e=this._readEnvConfiguration(),t=rf.createFromValidatedSettings(this._validatedOptions,e.pixelRatio,this.isSimpleWidget),i=this._readFontInfo(t),n={memory:this._computeOptionsMemory,outerWidth:e.outerWidth,outerHeight:e.outerHeight-this._reservedHeight,fontInfo:i,extraEditorClassName:e.extraEditorClassName,isDominatedByLongLines:this._isDominatedByLongLines,viewLineCount:this._viewLineCount,lineNumbersDigitCount:this._lineNumbersDigitCount,emptySelectionClipboard:e.emptySelectionClipboard,pixelRatio:e.pixelRatio,tabFocusMode:p_.getTabFocusMode(),accessibilitySupport:e.accessibilitySupport,glyphMarginDecorationLaneCount:this._glyphMarginDecorationLaneCount};return Au.computeOptions(this._validatedOptions,n)}_readEnvConfiguration(){return{extraEditorClassName:Sue(),outerWidth:this._containerObserver.getWidth(),outerHeight:this._containerObserver.getHeight(),emptySelectionClipboard:GL||Fr,pixelRatio:Ob.getInstance(C3(this._targetWindowId,!0).window).value,accessibilitySupport:this._accessibilityService.isScreenReaderOptimized()?2:this._accessibilityService.getAccessibilitySupport()}}_readFontInfo(e){return aA.readFontInfo(C3(this._targetWindowId,!0).window,e)}getRawOptions(){return this._rawOptions}updateOptions(e){const t=yB(e);Au.applyUpdate(this._rawOptions,t)&&(this._validatedOptions=Au.validateOptions(this._rawOptions),this._recomputeOptions())}observeContainer(e){this._containerObserver.observe(e)}setIsDominatedByLongLines(e){this._isDominatedByLongLines!==e&&(this._isDominatedByLongLines=e,this._recomputeOptions())}setModelLineCount(e){const t=yue(e);this._lineNumbersDigitCount!==t&&(this._lineNumbersDigitCount=t,this._recomputeOptions())}setViewLineCount(e){this._viewLineCount!==e&&(this._viewLineCount=e,this._recomputeOptions())}setReservedHeight(e){this._reservedHeight!==e&&(this._reservedHeight=e,this._recomputeOptions())}setGlyphMarginDecorationLaneCount(e){this._glyphMarginDecorationLaneCount!==e&&(this._glyphMarginDecorationLaneCount=e,this._recomputeOptions())}};LA=Cue([wue(4,gr)],LA);function yue(s){let e=0;for(;s;)s=Math.floor(s/10),e++;return e||1}function Sue(){let s="";return!Lh&&!hz&&(s+="no-user-select "),Lh&&(s+="no-minimap-shadow ",s+="enable-user-select "),lt&&(s+="mac "),s}class Due{constructor(){this._values=[]}_read(e){return this._values[e]}get(e){return this._values[e]}_write(e,t){this._values[e]=t}}class Lue{constructor(){this._values=[]}_read(e){if(e>=this._values.length)throw new Error("Cannot read uninitialized value");return this._values[e]}get(e){return this._read(e)}_write(e,t){this._values[e]=t}}class Au{static validateOptions(e){const t=new Due;for(const i of Jp){const n=i.name==="_never_"?void 0:e[i.name];t._write(i.id,i.validate(n))}return t}static computeOptions(e,t){const i=new Lue;for(const n of Jp)i._write(n.id,n.compute(t,i,e._read(n.id)));return i}static _deepEquals(e,t){if(typeof e!="object"||typeof t!="object"||!e||!t)return e===t;if(Array.isArray(e)||Array.isArray(t))return Array.isArray(e)&&Array.isArray(t)?Ci(e,t):!1;if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const i in e)if(!Au._deepEquals(e[i],t[i]))return!1;return!0}static checkEquals(e,t){const i=[];let n=!1;for(const o of Jp){const r=!Au._deepEquals(e._read(o.id),t._read(o.id));i[o.id]=r,r&&(n=!0)}return n?new HV(i):null}static applyUpdate(e,t){let i=!1;for(const n of Jp)if(t.hasOwnProperty(n.name)){const o=n.applyUpdate(e[n.name],t[n.name]);e[n.name]=o.newValue,i=i||o.didChange}return i}}function yB(s){const e=Jd(s);return _ue(e),e}var Hu;(function(s){const e={total:0,min:Number.MAX_VALUE,max:0},t={...e},i={...e},n={...e};let o=0;const r={keydown:0,input:0,render:0};function a(){v(),performance.mark("inputlatency/start"),performance.mark("keydown/start"),r.keydown=1,queueMicrotask(l)}s.onKeyDown=a;function l(){r.keydown===1&&(performance.mark("keydown/end"),r.keydown=2)}function d(){performance.mark("input/start"),r.input=1,_()}s.onBeforeInput=d;function c(){r.input===0&&d(),queueMicrotask(u)}s.onInput=c;function u(){r.input===1&&(performance.mark("input/end"),r.input=2)}function h(){v()}s.onKeyUp=h;function g(){v()}s.onSelectionChange=g;function f(){r.keydown===2&&r.input===2&&r.render===0&&(performance.mark("render/start"),r.render=1,queueMicrotask(m),_())}s.onRenderStart=f;function m(){r.render===1&&(performance.mark("render/end"),r.render=2)}function _(){setTimeout(v)}function v(){r.keydown===2&&r.input===2&&r.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"),b("keydown",e),b("input",t),b("render",i),b("inputlatency",n),o++,C())}function b(L,k){const I=performance.getEntriesByName(L)[0].duration;k.total+=I,k.min=Math.min(k.min,I),k.max=Math.max(k.max,I)}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"),r.keydown=0,r.input=0,r.render=0}function w(){if(o===0)return;const L={keydown:y(e),input:y(t),render:y(i),total:y(n),sampleCount:o};return D(e),D(t),D(i),D(n),o=0,L}s.getAndClearMeasurements=w;function y(L){return{average:L.total/o,max:L.max,min:L.min}}function D(L){L.total=0,L.min=Number.MAX_VALUE,L.max=0}})(Hu||(Hu={}));class c0{constructor(){this._hooks=new Y,this._pointerMoveCallback=null,this._onStopCallback=null}dispose(){this.stopMonitoring(!1),this._hooks.dispose()}stopMonitoring(e,t){if(!this.isMonitoring())return;this._hooks.clear(),this._pointerMoveCallback=null;const i=this._onStopCallback;this._onStopCallback=null,e&&i&&i(t)}isMonitoring(){return!!this._pointerMoveCallback}startMonitoring(e,t,i,n,o){this.isMonitoring()&&this.stopMonitoring(!1),this._pointerMoveCallback=n,this._onStopCallback=o;let r=e;try{e.setPointerCapture(t),this._hooks.add(Ie(()=>{try{e.releasePointerCapture(t)}catch{}}))}catch{r=Te(e)}this._hooks.add(K(r,ee.POINTER_MOVE,a=>{if(a.buttons!==i){this.stopMonitoring(!0);return}a.preventDefault(),this._pointerMoveCallback(a)})),this._hooks.add(K(r,ee.POINTER_UP,a=>this.stopMonitoring(!0)))}}function NF(s){return`--vscode-${s.replace(/\./g,"-")}`}function fe(s){return`var(${NF(s)})`}function xue(s,e){return`var(${NF(s)}, ${e})`}const DU={ColorContribution:"base.contributions.colors"};class kue{constructor(){this._onDidChangeSchema=new B,this.onDidChangeSchema=this._onDidChangeSchema.event,this.colorSchema={type:"object",properties:{}},this.colorReferenceSchema={type:"string",enum:[],enumDescriptions:[]},this.colorsById={}}registerColor(e,t,i,n=!1,o){const r={id:e,description:i,defaults:t,needsTransparency:n,deprecationMessage:o};this.colorsById[e]=r;const a={type:"string",description:i,format:"color-hex",defaultSnippets:[{body:"${1:#ff0000}"}]};return o&&(a.deprecationMessage=o),n&&(a.pattern="^#(?:(? [0-9a-fA-f]{3}[0-9a-eA-E])|(?:[0-9a-fA-F]{6}(?:(?![fF]{2})(?:[0-9a-fA-F]{2}))))?$",a.patternErrorMessage="This color must be transparent or it will obscure content"),this.colorSchema.properties[e]=a,this.colorReferenceSchema.enum.push(e),this.colorReferenceSchema.enumDescriptions.push(i),this._onDidChangeSchema.fire(),e}getColors(){return Object.keys(this.colorsById).map(e=>this.colorsById[e])}resolveDefaultColor(e,t){const i=this.colorsById[e];if(i&&i.defaults){const n=i.defaults[t.type];return Na(n,t)}}getColorSchema(){return this.colorSchema}toString(){const e=(t,i)=>{const n=t.indexOf(".")===-1?0:1,o=i.indexOf(".")===-1?0:1;return n!==o?n-o:t.localeCompare(i)};return Object.keys(this.colorsById).sort(e).map(t=>`- \`${t}\`: ${this.colorsById[t].description}`).join(` `)}}const Cx=new kue;Ji.add(DU.ColorContribution,Cx);function N(s,e,t,i,n){return Cx.registerColor(s,e,t,i,n)}function Eue(s,e){var t,i,n,o;switch(s.op){case 0:return(t=Na(s.value,e))===null||t===void 0?void 0:t.darken(s.factor);case 1:return(i=Na(s.value,e))===null||i===void 0?void 0:i.lighten(s.factor);case 2:return(n=Na(s.value,e))===null||n===void 0?void 0:n.transparent(s.factor);case 3:{const r=Na(s.background,e);return r?(o=Na(s.value,e))===null||o===void 0?void 0:o.makeOpaque(r):Na(s.value,e)}case 4:for(const r of s.values){const a=Na(r,e);if(a)return a}return;case 6:return Na(e.defines(s.if)?s.then:s.else,e);case 5:{const r=Na(s.value,e);if(!r)return;const a=Na(s.background,e);return a?r.isDarkerThan(a)?$.getLighterColor(r,a,s.factor).transparent(s.transparency):$.getDarkerColor(r,a,s.factor).transparent(s.transparency):r.transparent(s.factor*s.transparency)}default:throw ux()}}function ap(s,e){return{op:0,value:s,factor:e}}function Ja(s,e){return{op:1,value:s,factor:e}}function Ee(s,e){return{op:2,value:s,factor:e}}function Gb(...s){return{op:4,values:s}}function Iue(s,e,t){return{op:6,if:s,then:e,else:t}}function SB(s,e,t,i){return{op:5,value:s,background:e,factor:t,transparency:i}}function Na(s,e){if(s!==null){if(typeof s=="string")return s[0]==="#"?$.fromHex(s):e.getColor(s);if(s instanceof $)return s;if(typeof s=="object")return Eue(s,e)}}const LU="vscode://schemas/workbench-colors",xU=Ji.as(vx.JSONContribution);xU.registerSchema(LU,Cx.getColorSchema());const DB=new Wt(()=>xU.notifySchemaChanged(LU),200);Cx.onDidChangeSchema(()=>{DB.isScheduled()||DB.schedule()});const ae=N("foreground",{dark:"#CCCCCC",light:"#616161",hcDark:"#FFFFFF",hcLight:"#292929"},p("foreground","Overall foreground color. This color is only used if not overridden by a component."));N("disabledForeground",{dark:"#CCCCCC80",light:"#61616180",hcDark:"#A5A5A5",hcLight:"#7F7F7F"},p("disabledForeground","Overall foreground for disabled elements. This color is only used if not overridden by a component."));N("errorForeground",{dark:"#F48771",light:"#A1260D",hcDark:"#F48771",hcLight:"#B5200D"},p("errorForeground","Overall foreground color for error messages. This color is only used if not overridden by a component."));N("descriptionForeground",{light:"#717171",dark:Ee(ae,.7),hcDark:Ee(ae,.7),hcLight:Ee(ae,.7)},p("descriptionForeground","Foreground color for description text providing additional information, for example for a label."));const Ql=N("icon.foreground",{dark:"#C5C5C5",light:"#424242",hcDark:"#FFFFFF",hcLight:"#292929"},p("iconForeground","The default color for icons in the workbench.")),Ir=N("focusBorder",{dark:"#007FD4",light:"#0090F1",hcDark:"#F38518",hcLight:"#006BBD"},p("focusBorder","Overall border color for focused elements. This color is only used if not overridden by a component.")),gt=N("contrastBorder",{light:null,dark:null,hcDark:"#6FC3DF",hcLight:"#0F4A85"},p("contrastBorder","An extra border around elements to separate them from others for greater contrast.")),di=N("contrastActiveBorder",{light:null,dark:null,hcDark:Ir,hcLight:Ir},p("activeContrastBorder","An extra border around active elements to separate them from others for greater contrast."));N("selection.background",{light:null,dark:null,hcDark:null,hcLight:null},p("selectionBackground","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."));const Tue=N("textLink.foreground",{light:"#006AB1",dark:"#3794FF",hcDark:"#21A6FF",hcLight:"#0F4A85"},p("textLinkForeground","Foreground color for links in text."));N("textLink.activeForeground",{light:"#006AB1",dark:"#3794FF",hcDark:"#21A6FF",hcLight:"#0F4A85"},p("textLinkActiveForeground","Foreground color for links in text when clicked on and on mouse hover."));N("textSeparator.foreground",{light:"#0000002e",dark:"#ffffff2e",hcDark:$.black,hcLight:"#292929"},p("textSeparatorForeground","Color for text separators."));N("textPreformat.foreground",{light:"#A31515",dark:"#D7BA7D",hcDark:"#000000",hcLight:"#FFFFFF"},p("textPreformatForeground","Foreground color for preformatted text segments."));N("textPreformat.background",{light:"#0000001A",dark:"#FFFFFF1A",hcDark:"#FFFFFF",hcLight:"#09345f"},p("textPreformatBackground","Background color for preformatted text segments."));N("textBlockQuote.background",{light:"#f2f2f2",dark:"#222222",hcDark:null,hcLight:"#F2F2F2"},p("textBlockQuoteBackground","Background color for block quotes in text."));N("textBlockQuote.border",{light:"#007acc80",dark:"#007acc80",hcDark:$.white,hcLight:"#292929"},p("textBlockQuoteBorder","Border color for block quotes in text."));N("textCodeBlock.background",{light:"#dcdcdc66",dark:"#0a0a0a66",hcDark:$.black,hcLight:"#F2F2F2"},p("textCodeBlockBackground","Background color for code blocks in text."));N("sash.hoverBorder",{dark:Ir,light:Ir,hcDark:Ir,hcLight:Ir},p("sashActiveBorder","Border color of active sashes."));const jy=N("badge.background",{dark:"#4D4D4D",light:"#C4C4C4",hcDark:$.black,hcLight:"#0F4A85"},p("badgeBackground","Badge background color. Badges are small information labels, e.g. for search results count.")),Nue=N("badge.foreground",{dark:$.white,light:"#333",hcDark:$.white,hcLight:$.white},p("badgeForeground","Badge foreground color. Badges are small information labels, e.g. for search results count.")),gv=N("scrollbar.shadow",{dark:"#000000",light:"#DDDDDD",hcDark:null,hcLight:null},p("scrollbarShadow","Scrollbar shadow to indicate that the view is scrolled.")),fv=N("scrollbarSlider.background",{dark:$.fromHex("#797979").transparent(.4),light:$.fromHex("#646464").transparent(.4),hcDark:Ee(gt,.6),hcLight:Ee(gt,.4)},p("scrollbarSliderBackground","Scrollbar slider background color.")),pv=N("scrollbarSlider.hoverBackground",{dark:$.fromHex("#646464").transparent(.7),light:$.fromHex("#646464").transparent(.7),hcDark:Ee(gt,.8),hcLight:Ee(gt,.8)},p("scrollbarSliderHoverBackground","Scrollbar slider background color when hovering.")),mv=N("scrollbarSlider.activeBackground",{dark:$.fromHex("#BFBFBF").transparent(.4),light:$.fromHex("#000000").transparent(.6),hcDark:gt,hcLight:gt},p("scrollbarSliderActiveBackground","Scrollbar slider background color when clicked on.")),Aue=N("progressBar.background",{dark:$.fromHex("#0E70C0"),light:$.fromHex("#0E70C0"),hcDark:gt,hcLight:gt},p("progressBarBackground","Background color of the progress bar that can show for long running operations.")),Sn=N("editor.background",{light:"#ffffff",dark:"#1E1E1E",hcDark:$.black,hcLight:$.white},p("editorBackground","Editor background color.")),Tr=N("editor.foreground",{light:"#333333",dark:"#BBBBBB",hcDark:$.white,hcLight:ae},p("editorForeground","Editor default foreground color."));N("editorStickyScroll.background",{light:Sn,dark:Sn,hcDark:Sn,hcLight:Sn},p("editorStickyScrollBackground","Background color of sticky scroll in the editor"));N("editorStickyScrollHover.background",{dark:"#2A2D2E",light:"#F0F0F0",hcDark:null,hcLight:$.fromHex("#0F4A85").transparent(.1)},p("editorStickyScrollHoverBackground","Background color of sticky scroll on hover in the editor"));N("editorStickyScroll.border",{dark:null,light:null,hcDark:gt,hcLight:gt},p("editorStickyScrollBorder","Border color of sticky scroll in the editor"));N("editorStickyScroll.shadow",{dark:gv,light:gv,hcDark:gv,hcLight:gv},p("editorStickyScrollShadow"," Shadow color of sticky scroll in the editor"));const Hi=N("editorWidget.background",{dark:"#252526",light:"#F3F3F3",hcDark:"#0C141F",hcLight:$.white},p("editorWidgetBackground","Background color of editor widgets, such as find/replace.")),gc=N("editorWidget.foreground",{dark:ae,light:ae,hcDark:ae,hcLight:ae},p("editorWidgetForeground","Foreground color of editor widgets, such as find/replace.")),fc=N("editorWidget.border",{dark:"#454545",light:"#C8C8C8",hcDark:gt,hcLight:gt},p("editorWidgetBorder","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."));N("editorWidget.resizeBorder",{light:null,dark:null,hcDark:null,hcLight:null},p("editorWidgetResizeBorder","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."));N("editorError.background",{dark:null,light:null,hcDark:null,hcLight:null},p("editorError.background","Background color of error text in the editor. The color must not be opaque so as not to hide underlying decorations."),!0);const Jl=N("editorError.foreground",{dark:"#F14C4C",light:"#E51400",hcDark:"#F48771",hcLight:"#B5200D"},p("editorError.foreground","Foreground color of error squigglies in the editor.")),Mue=N("editorError.border",{dark:null,light:null,hcDark:$.fromHex("#E47777").transparent(.8),hcLight:"#B5200D"},p("errorBorder","If set, color of double underlines for errors in the editor.")),bw=N("editorWarning.background",{dark:null,light:null,hcDark:null,hcLight:null},p("editorWarning.background","Background color of warning text in the editor. The color must not be opaque so as not to hide underlying decorations."),!0),vs=N("editorWarning.foreground",{dark:"#CCA700",light:"#BF8803",hcDark:"#FFD370",hcLight:"#895503"},p("editorWarning.foreground","Foreground color of warning squigglies in the editor.")),Zb=N("editorWarning.border",{dark:null,light:null,hcDark:$.fromHex("#FFCC00").transparent(.8),hcLight:$.fromHex("#FFCC00").transparent(.8)},p("warningBorder","If set, color of double underlines for warnings in the editor."));N("editorInfo.background",{dark:null,light:null,hcDark:null,hcLight:null},p("editorInfo.background","Background color of info text in the editor. The color must not be opaque so as not to hide underlying decorations."),!0);const ro=N("editorInfo.foreground",{dark:"#3794FF",light:"#1a85ff",hcDark:"#3794FF",hcLight:"#1a85ff"},p("editorInfo.foreground","Foreground color of info squigglies in the editor.")),Xb=N("editorInfo.border",{dark:null,light:null,hcDark:$.fromHex("#3794FF").transparent(.8),hcLight:"#292929"},p("infoBorder","If set, color of double underlines for infos in the editor.")),Rue=N("editorHint.foreground",{dark:$.fromHex("#eeeeee").transparent(.7),light:"#6c6c6c",hcDark:null,hcLight:null},p("editorHint.foreground","Foreground color of hint squigglies in the editor."));N("editorHint.border",{dark:null,light:null,hcDark:$.fromHex("#eeeeee").transparent(.8),hcLight:"#292929"},p("hintBorder","If set, color of double underlines for hints in the editor."));const Pue=N("editorLink.activeForeground",{dark:"#4E94CE",light:$.blue,hcDark:$.cyan,hcLight:"#292929"},p("activeLinkForeground","Color of active links.")),Vu=N("editor.selectionBackground",{light:"#ADD6FF",dark:"#264F78",hcDark:"#f3f518",hcLight:"#0F4A85"},p("editorSelectionBackground","Color of the editor selection.")),Fue=N("editor.selectionForeground",{light:null,dark:null,hcDark:"#000000",hcLight:$.white},p("editorSelectionForeground","Color of the selected text for high contrast.")),kU=N("editor.inactiveSelectionBackground",{light:Ee(Vu,.5),dark:Ee(Vu,.5),hcDark:Ee(Vu,.7),hcLight:Ee(Vu,.5)},p("editorInactiveSelection","Color of the selection in an inactive editor. The color must not be opaque so as not to hide underlying decorations."),!0),AF=N("editor.selectionHighlightBackground",{light:SB(Vu,Sn,.3,.6),dark:SB(Vu,Sn,.3,.6),hcDark:null,hcLight:null},p("editorSelectionHighlight","Color for regions with the same content as the selection. The color must not be opaque so as not to hide underlying decorations."),!0);N("editor.selectionHighlightBorder",{light:null,dark:null,hcDark:di,hcLight:di},p("editorSelectionHighlightBorder","Border color for regions with the same content as the selection."));N("editor.findMatchBackground",{light:"#A8AC94",dark:"#515C6A",hcDark:null,hcLight:null},p("editorFindMatch","Color of the current search match."));const pc=N("editor.findMatchHighlightBackground",{light:"#EA5C0055",dark:"#EA5C0055",hcDark:null,hcLight:null},p("findMatchHighlight","Color of the other search matches. The color must not be opaque so as not to hide underlying decorations."),!0);N("editor.findRangeHighlightBackground",{dark:"#3a3d4166",light:"#b4b4b44d",hcDark:null,hcLight:null},p("findRangeHighlight","Color of the range limiting the search. The color must not be opaque so as not to hide underlying decorations."),!0);N("editor.findMatchBorder",{light:null,dark:null,hcDark:di,hcLight:di},p("editorFindMatchBorder","Border color of the current search match."));const zu=N("editor.findMatchHighlightBorder",{light:null,dark:null,hcDark:di,hcLight:di},p("findMatchHighlightBorder","Border color of the other search matches.")),Oue=N("editor.findRangeHighlightBorder",{dark:null,light:null,hcDark:Ee(di,.4),hcLight:Ee(di,.4)},p("findRangeHighlightBorder","Border color of the range limiting the search. The color must not be opaque so as not to hide underlying decorations."),!0);N("editor.hoverHighlightBackground",{light:"#ADD6FF26",dark:"#264f7840",hcDark:"#ADD6FF26",hcLight:null},p("hoverHighlight","Highlight below the word for which a hover is shown. The color must not be opaque so as not to hide underlying decorations."),!0);const iD=N("editorHoverWidget.background",{light:Hi,dark:Hi,hcDark:Hi,hcLight:Hi},p("hoverBackground","Background color of the editor hover."));N("editorHoverWidget.foreground",{light:gc,dark:gc,hcDark:gc,hcLight:gc},p("hoverForeground","Foreground color of the editor hover."));const EU=N("editorHoverWidget.border",{light:fc,dark:fc,hcDark:fc,hcLight:fc},p("hoverBorder","Border color of the editor hover."));N("editorHoverWidget.statusBarBackground",{dark:Ja(iD,.2),light:ap(iD,.05),hcDark:Hi,hcLight:Hi},p("statusBarBackground","Background color of the editor hover status bar."));const mc=N("editorInlayHint.foreground",{dark:"#969696",light:"#969696",hcDark:$.white,hcLight:$.black},p("editorInlayHintForeground","Foreground color of inline hints")),_c=N("editorInlayHint.background",{dark:Ee(jy,.1),light:Ee(jy,.1),hcDark:Ee($.white,.1),hcLight:Ee(jy,.1)},p("editorInlayHintBackground","Background color of inline hints")),Bue=N("editorInlayHint.typeForeground",{dark:mc,light:mc,hcDark:mc,hcLight:mc},p("editorInlayHintForegroundTypes","Foreground color of inline hints for types")),Wue=N("editorInlayHint.typeBackground",{dark:_c,light:_c,hcDark:_c,hcLight:_c},p("editorInlayHintBackgroundTypes","Background color of inline hints for types")),Hue=N("editorInlayHint.parameterForeground",{dark:mc,light:mc,hcDark:mc,hcLight:mc},p("editorInlayHintForegroundParameter","Foreground color of inline hints for parameters")),Vue=N("editorInlayHint.parameterBackground",{dark:_c,light:_c,hcDark:_c,hcLight:_c},p("editorInlayHintBackgroundParameter","Background color of inline hints for parameters")),Cw=N("editorLightBulb.foreground",{dark:"#FFCC00",light:"#DDB100",hcDark:"#FFCC00",hcLight:"#007ACC"},p("editorLightBulbForeground","The color used for the lightbulb actions icon."));N("editorLightBulbAutoFix.foreground",{dark:"#75BEFF",light:"#007ACC",hcDark:"#75BEFF",hcLight:"#007ACC"},p("editorLightBulbAutoFixForeground","The color used for the lightbulb auto fix actions icon."));N("editorLightBulbAi.foreground",{dark:Cw,light:Cw,hcDark:Cw,hcLight:Cw},p("editorLightBulbAiForeground","The color used for the lightbulb AI icon."));N("editor.snippetTabstopHighlightBackground",{dark:new $(new bt(124,124,124,.3)),light:new $(new bt(10,50,100,.2)),hcDark:new $(new bt(124,124,124,.3)),hcLight:new $(new bt(10,50,100,.2))},p("snippetTabstopHighlightBackground","Highlight background color of a snippet tabstop."));N("editor.snippetTabstopHighlightBorder",{dark:null,light:null,hcDark:null,hcLight:null},p("snippetTabstopHighlightBorder","Highlight border color of a snippet tabstop."));N("editor.snippetFinalTabstopHighlightBackground",{dark:null,light:null,hcDark:null,hcLight:null},p("snippetFinalTabstopHighlightBackground","Highlight background color of the final tabstop of a snippet."));N("editor.snippetFinalTabstopHighlightBorder",{dark:"#525252",light:new $(new bt(10,50,100,.5)),hcDark:"#525252",hcLight:"#292929"},p("snippetFinalTabstopHighlightBorder","Highlight border color of the final tabstop of a snippet."));const xA=new $(new bt(155,185,85,.2)),kA=new $(new bt(255,0,0,.2)),zue=N("diffEditor.insertedTextBackground",{dark:"#9ccc2c33",light:"#9ccc2c40",hcDark:null,hcLight:null},p("diffEditorInserted","Background color for text that got inserted. The color must not be opaque so as not to hide underlying decorations."),!0),Uue=N("diffEditor.removedTextBackground",{dark:"#ff000033",light:"#ff000033",hcDark:null,hcLight:null},p("diffEditorRemoved","Background color for text that got removed. The color must not be opaque so as not to hide underlying decorations."),!0);N("diffEditor.insertedLineBackground",{dark:xA,light:xA,hcDark:null,hcLight:null},p("diffEditorInsertedLines","Background color for lines that got inserted. The color must not be opaque so as not to hide underlying decorations."),!0);N("diffEditor.removedLineBackground",{dark:kA,light:kA,hcDark:null,hcLight:null},p("diffEditorRemovedLines","Background color for lines that got removed. The color must not be opaque so as not to hide underlying decorations."),!0);N("diffEditorGutter.insertedLineBackground",{dark:null,light:null,hcDark:null,hcLight:null},p("diffEditorInsertedLineGutter","Background color for the margin where lines got inserted."));N("diffEditorGutter.removedLineBackground",{dark:null,light:null,hcDark:null,hcLight:null},p("diffEditorRemovedLineGutter","Background color for the margin where lines got removed."));const $ue=N("diffEditorOverview.insertedForeground",{dark:null,light:null,hcDark:null,hcLight:null},p("diffEditorOverviewInserted","Diff overview ruler foreground for inserted content.")),jue=N("diffEditorOverview.removedForeground",{dark:null,light:null,hcDark:null,hcLight:null},p("diffEditorOverviewRemoved","Diff overview ruler foreground for removed content."));N("diffEditor.insertedTextBorder",{dark:null,light:null,hcDark:"#33ff2eff",hcLight:"#374E06"},p("diffEditorInsertedOutline","Outline color for the text that got inserted."));N("diffEditor.removedTextBorder",{dark:null,light:null,hcDark:"#FF008F",hcLight:"#AD0707"},p("diffEditorRemovedOutline","Outline color for text that got removed."));N("diffEditor.border",{dark:null,light:null,hcDark:gt,hcLight:gt},p("diffEditorBorder","Border color between the two text editors."));N("diffEditor.diagonalFill",{dark:"#cccccc33",light:"#22222233",hcDark:null,hcLight:null},p("diffDiagonalFill","Color of the diff editor's diagonal fill. The diagonal fill is used in side-by-side diff views."));N("diffEditor.unchangedRegionBackground",{dark:"sideBar.background",light:"sideBar.background",hcDark:"sideBar.background",hcLight:"sideBar.background"},p("diffEditor.unchangedRegionBackground","The background color of unchanged blocks in the diff editor."));N("diffEditor.unchangedRegionForeground",{dark:"foreground",light:"foreground",hcDark:"foreground",hcLight:"foreground"},p("diffEditor.unchangedRegionForeground","The foreground color of unchanged blocks in the diff editor."));N("diffEditor.unchangedCodeBackground",{dark:"#74747429",light:"#b8b8b829",hcDark:null,hcLight:null},p("diffEditor.unchangedCodeBackground","The background color of unchanged code in the diff editor."));const vc=N("widget.shadow",{dark:Ee($.black,.36),light:Ee($.black,.16),hcDark:null,hcLight:null},p("widgetShadow","Shadow color of widgets such as find/replace inside the editor.")),IU=N("widget.border",{dark:null,light:null,hcDark:gt,hcLight:gt},p("widgetBorder","Border color of widgets such as find/replace inside the editor.")),LB=N("toolbar.hoverBackground",{dark:"#5a5d5e50",light:"#b8b8b850",hcDark:null,hcLight:null},p("toolbarHoverBackground","Toolbar background when hovering over actions using the mouse"));N("toolbar.hoverOutline",{dark:null,light:null,hcDark:di,hcLight:di},p("toolbarHoverOutline","Toolbar outline when hovering over actions using the mouse"));N("toolbar.activeBackground",{dark:Ja(LB,.1),light:ap(LB,.1),hcDark:null,hcLight:null},p("toolbarActiveBackground","Toolbar background when holding the mouse over actions"));const Kue=N("breadcrumb.foreground",{light:Ee(ae,.8),dark:Ee(ae,.8),hcDark:Ee(ae,.8),hcLight:Ee(ae,.8)},p("breadcrumbsFocusForeground","Color of focused breadcrumb items.")),que=N("breadcrumb.background",{light:Sn,dark:Sn,hcDark:Sn,hcLight:Sn},p("breadcrumbsBackground","Background color of breadcrumb items.")),xB=N("breadcrumb.focusForeground",{light:ap(ae,.2),dark:Ja(ae,.1),hcDark:Ja(ae,.1),hcLight:Ja(ae,.1)},p("breadcrumbsFocusForeground","Color of focused breadcrumb items.")),Gue=N("breadcrumb.activeSelectionForeground",{light:ap(ae,.2),dark:Ja(ae,.1),hcDark:Ja(ae,.1),hcLight:Ja(ae,.1)},p("breadcrumbsSelectedForeground","Color of selected breadcrumb items."));N("breadcrumbPicker.background",{light:Hi,dark:Hi,hcDark:Hi,hcLight:Hi},p("breadcrumbsSelectedBackground","Background color of breadcrumb item picker."));const TU=.5,kB=$.fromHex("#40C8AE").transparent(TU),EB=$.fromHex("#40A6FF").transparent(TU),IB=$.fromHex("#606060").transparent(.4),la=.4,m_=1,om=N("merge.currentHeaderBackground",{dark:kB,light:kB,hcDark:null,hcLight:null},p("mergeCurrentHeaderBackground","Current header background in inline merge-conflicts. The color must not be opaque so as not to hide underlying decorations."),!0);N("merge.currentContentBackground",{dark:Ee(om,la),light:Ee(om,la),hcDark:Ee(om,la),hcLight:Ee(om,la)},p("mergeCurrentContentBackground","Current content background in inline merge-conflicts. The color must not be opaque so as not to hide underlying decorations."),!0);const rm=N("merge.incomingHeaderBackground",{dark:EB,light:EB,hcDark:null,hcLight:null},p("mergeIncomingHeaderBackground","Incoming header background in inline merge-conflicts. The color must not be opaque so as not to hide underlying decorations."),!0);N("merge.incomingContentBackground",{dark:Ee(rm,la),light:Ee(rm,la),hcDark:Ee(rm,la),hcLight:Ee(rm,la)},p("mergeIncomingContentBackground","Incoming content background in inline merge-conflicts. The color must not be opaque so as not to hide underlying decorations."),!0);const am=N("merge.commonHeaderBackground",{dark:IB,light:IB,hcDark:null,hcLight:null},p("mergeCommonHeaderBackground","Common ancestor header background in inline merge-conflicts. The color must not be opaque so as not to hide underlying decorations."),!0);N("merge.commonContentBackground",{dark:Ee(am,la),light:Ee(am,la),hcDark:Ee(am,la),hcLight:Ee(am,la)},p("mergeCommonContentBackground","Common ancestor content background in inline merge-conflicts. The color must not be opaque so as not to hide underlying decorations."),!0);const __=N("merge.border",{dark:null,light:null,hcDark:"#C3DF6F",hcLight:"#007ACC"},p("mergeBorder","Border color on headers and the splitter in inline merge-conflicts."));N("editorOverviewRuler.currentContentForeground",{dark:Ee(om,m_),light:Ee(om,m_),hcDark:__,hcLight:__},p("overviewRulerCurrentContentForeground","Current overview ruler foreground for inline merge-conflicts."));N("editorOverviewRuler.incomingContentForeground",{dark:Ee(rm,m_),light:Ee(rm,m_),hcDark:__,hcLight:__},p("overviewRulerIncomingContentForeground","Incoming overview ruler foreground for inline merge-conflicts."));N("editorOverviewRuler.commonContentForeground",{dark:Ee(am,m_),light:Ee(am,m_),hcDark:__,hcLight:__},p("overviewRulerCommonContentForeground","Common ancestor overview ruler foreground for inline merge-conflicts."));const MF=N("editorOverviewRuler.findMatchForeground",{dark:"#d186167e",light:"#d186167e",hcDark:"#AB5A00",hcLight:""},p("overviewRulerFindMatchForeground","Overview ruler marker color for find matches. The color must not be opaque so as not to hide underlying decorations."),!0),_v=N("editorOverviewRuler.selectionHighlightForeground",{dark:"#A0A0A0CC",light:"#A0A0A0CC",hcDark:"#A0A0A0CC",hcLight:"#A0A0A0CC"},p("overviewRulerSelectionHighlightForeground","Overview ruler marker color for selection highlights. The color must not be opaque so as not to hide underlying decorations."),!0),Zue=N("problemsErrorIcon.foreground",{dark:Jl,light:Jl,hcDark:Jl,hcLight:Jl},p("problemsErrorIconForeground","The color used for the problems error icon.")),Xue=N("problemsWarningIcon.foreground",{dark:vs,light:vs,hcDark:vs,hcLight:vs},p("problemsWarningIconForeground","The color used for the problems warning icon.")),Yue=N("problemsInfoIcon.foreground",{dark:ro,light:ro,hcDark:ro,hcLight:ro},p("problemsInfoIconForeground","The color used for the problems info icon.")),lm=N("minimap.findMatchHighlight",{light:"#d18616",dark:"#d18616",hcDark:"#AB5A00",hcLight:"#0F4A85"},p("minimapFindMatchHighlight","Minimap marker color for find matches."),!0),wx=N("minimap.selectionOccurrenceHighlight",{light:"#c9c9c9",dark:"#676767",hcDark:"#ffffff",hcLight:"#0F4A85"},p("minimapSelectionOccurrenceHighlight","Minimap marker color for repeating editor selections."),!0),TB=N("minimap.selectionHighlight",{light:"#ADD6FF",dark:"#264F78",hcDark:"#ffffff",hcLight:"#0F4A85"},p("minimapSelectionHighlight","Minimap marker color for the editor selection."),!0),Que=N("minimap.infoHighlight",{dark:ro,light:ro,hcDark:Xb,hcLight:Xb},p("minimapInfo","Minimap marker color for infos.")),Jue=N("minimap.warningHighlight",{dark:vs,light:vs,hcDark:Zb,hcLight:Zb},p("overviewRuleWarning","Minimap marker color for warnings.")),ehe=N("minimap.errorHighlight",{dark:new $(new bt(255,18,18,.7)),light:new $(new bt(255,18,18,.7)),hcDark:new $(new bt(255,50,50,1)),hcLight:"#B5200D"},p("minimapError","Minimap marker color for errors.")),the=N("minimap.background",{dark:null,light:null,hcDark:null,hcLight:null},p("minimapBackground","Minimap background color.")),ihe=N("minimap.foregroundOpacity",{dark:$.fromHex("#000f"),light:$.fromHex("#000f"),hcDark:$.fromHex("#000f"),hcLight:$.fromHex("#000f")},p("minimapForegroundOpacity",'Opacity of foreground elements rendered in the minimap. For example, "#000000c0" will render the elements with 75% opacity.'));N("minimapSlider.background",{light:Ee(fv,.5),dark:Ee(fv,.5),hcDark:Ee(fv,.5),hcLight:Ee(fv,.5)},p("minimapSliderBackground","Minimap slider background color."));N("minimapSlider.hoverBackground",{light:Ee(pv,.5),dark:Ee(pv,.5),hcDark:Ee(pv,.5),hcLight:Ee(pv,.5)},p("minimapSliderHoverBackground","Minimap slider background color when hovering."));N("minimapSlider.activeBackground",{light:Ee(mv,.5),dark:Ee(mv,.5),hcDark:Ee(mv,.5),hcLight:Ee(mv,.5)},p("minimapSliderActiveBackground","Minimap slider background color when clicked on."));N("charts.foreground",{dark:ae,light:ae,hcDark:ae,hcLight:ae},p("chartsForeground","The foreground color used in charts."));N("charts.lines",{dark:Ee(ae,.5),light:Ee(ae,.5),hcDark:Ee(ae,.5),hcLight:Ee(ae,.5)},p("chartsLines","The color used for horizontal lines in charts."));N("charts.red",{dark:Jl,light:Jl,hcDark:Jl,hcLight:Jl},p("chartsRed","The red color used in chart visualizations."));N("charts.blue",{dark:ro,light:ro,hcDark:ro,hcLight:ro},p("chartsBlue","The blue color used in chart visualizations."));N("charts.yellow",{dark:vs,light:vs,hcDark:vs,hcLight:vs},p("chartsYellow","The yellow color used in chart visualizations."));N("charts.orange",{dark:lm,light:lm,hcDark:lm,hcLight:lm},p("chartsOrange","The orange color used in chart visualizations."));N("charts.green",{dark:"#89D185",light:"#388A34",hcDark:"#89D185",hcLight:"#374e06"},p("chartsGreen","The green color used in chart visualizations."));N("charts.purple",{dark:"#B180D7",light:"#652D90",hcDark:"#B180D7",hcLight:"#652D90"},p("chartsPurple","The purple color used in chart visualizations."));const EA=N("input.background",{dark:"#3C3C3C",light:$.white,hcDark:$.black,hcLight:$.white},p("inputBoxBackground","Input box background.")),NU=N("input.foreground",{dark:ae,light:ae,hcDark:ae,hcLight:ae},p("inputBoxForeground","Input box foreground.")),AU=N("input.border",{dark:null,light:null,hcDark:gt,hcLight:gt},p("inputBoxBorder","Input box border.")),RF=N("inputOption.activeBorder",{dark:"#007ACC",light:"#007ACC",hcDark:gt,hcLight:gt},p("inputBoxActiveOptionBorder","Border color of activated options in input fields."));N("inputOption.hoverBackground",{dark:"#5a5d5e80",light:"#b8b8b850",hcDark:null,hcLight:null},p("inputOption.hoverBackground","Background color of activated options in input fields."));const Zg=N("inputOption.activeBackground",{dark:Ee(Ir,.4),light:Ee(Ir,.2),hcDark:$.transparent,hcLight:$.transparent},p("inputOption.activeBackground","Background hover color of options in input fields.")),PF=N("inputOption.activeForeground",{dark:$.white,light:$.black,hcDark:ae,hcLight:ae},p("inputOption.activeForeground","Foreground color of activated options in input fields."));N("input.placeholderForeground",{light:Ee(ae,.5),dark:Ee(ae,.5),hcDark:Ee(ae,.7),hcLight:Ee(ae,.7)},p("inputPlaceholderForeground","Input box foreground color for placeholder text."));const nhe=N("inputValidation.infoBackground",{dark:"#063B49",light:"#D6ECF2",hcDark:$.black,hcLight:$.white},p("inputValidationInfoBackground","Input validation background color for information severity.")),she=N("inputValidation.infoForeground",{dark:null,light:null,hcDark:null,hcLight:ae},p("inputValidationInfoForeground","Input validation foreground color for information severity.")),ohe=N("inputValidation.infoBorder",{dark:"#007acc",light:"#007acc",hcDark:gt,hcLight:gt},p("inputValidationInfoBorder","Input validation border color for information severity.")),rhe=N("inputValidation.warningBackground",{dark:"#352A05",light:"#F6F5D2",hcDark:$.black,hcLight:$.white},p("inputValidationWarningBackground","Input validation background color for warning severity.")),ahe=N("inputValidation.warningForeground",{dark:null,light:null,hcDark:null,hcLight:ae},p("inputValidationWarningForeground","Input validation foreground color for warning severity.")),lhe=N("inputValidation.warningBorder",{dark:"#B89500",light:"#B89500",hcDark:gt,hcLight:gt},p("inputValidationWarningBorder","Input validation border color for warning severity.")),dhe=N("inputValidation.errorBackground",{dark:"#5A1D1D",light:"#F2DEDE",hcDark:$.black,hcLight:$.white},p("inputValidationErrorBackground","Input validation background color for error severity.")),che=N("inputValidation.errorForeground",{dark:null,light:null,hcDark:null,hcLight:ae},p("inputValidationErrorForeground","Input validation foreground color for error severity.")),uhe=N("inputValidation.errorBorder",{dark:"#BE1100",light:"#BE1100",hcDark:gt,hcLight:gt},p("inputValidationErrorBorder","Input validation border color for error severity.")),ed=N("dropdown.background",{dark:"#3C3C3C",light:$.white,hcDark:$.black,hcLight:$.white},p("dropdownBackground","Dropdown background.")),hhe=N("dropdown.listBackground",{dark:null,light:null,hcDark:$.black,hcLight:$.white},p("dropdownListBackground","Dropdown list background.")),bc=N("dropdown.foreground",{dark:"#F0F0F0",light:ae,hcDark:$.white,hcLight:ae},p("dropdownForeground","Dropdown foreground.")),dm=N("dropdown.border",{dark:ed,light:"#CECECE",hcDark:gt,hcLight:gt},p("dropdownBorder","Dropdown border.")),vv=N("button.foreground",{dark:$.white,light:$.white,hcDark:$.white,hcLight:$.white},p("buttonForeground","Button foreground color.")),ghe=N("button.separator",{dark:Ee(vv,.4),light:Ee(vv,.4),hcDark:Ee(vv,.4),hcLight:Ee(vv,.4)},p("buttonSeparator","Button separator color.")),bv=N("button.background",{dark:"#0E639C",light:"#007ACC",hcDark:null,hcLight:"#0F4A85"},p("buttonBackground","Button background color.")),fhe=N("button.hoverBackground",{dark:Ja(bv,.2),light:ap(bv,.2),hcDark:bv,hcLight:bv},p("buttonHoverBackground","Button background color when hovering.")),phe=N("button.border",{dark:gt,light:gt,hcDark:gt,hcLight:gt},p("buttonBorder","Button border color.")),mhe=N("button.secondaryForeground",{dark:$.white,light:$.white,hcDark:$.white,hcLight:ae},p("buttonSecondaryForeground","Secondary button foreground color.")),IA=N("button.secondaryBackground",{dark:"#3A3D41",light:"#5F6A79",hcDark:null,hcLight:$.white},p("buttonSecondaryBackground","Secondary button background color.")),_he=N("button.secondaryHoverBackground",{dark:Ja(IA,.2),light:ap(IA,.2),hcDark:null,hcLight:null},p("buttonSecondaryHoverBackground","Secondary button background color when hovering.")),vhe=N("checkbox.background",{dark:ed,light:ed,hcDark:ed,hcLight:ed},p("checkbox.background","Background color of checkbox widget."));N("checkbox.selectBackground",{dark:Hi,light:Hi,hcDark:Hi,hcLight:Hi},p("checkbox.select.background","Background color of checkbox widget when the element it's in is selected."));const bhe=N("checkbox.foreground",{dark:bc,light:bc,hcDark:bc,hcLight:bc},p("checkbox.foreground","Foreground color of checkbox widget.")),Che=N("checkbox.border",{dark:dm,light:dm,hcDark:dm,hcLight:dm},p("checkbox.border","Border color of checkbox widget."));N("checkbox.selectBorder",{dark:Ql,light:Ql,hcDark:Ql,hcLight:Ql},p("checkbox.select.border","Border color of checkbox widget when the element it's in is selected."));const whe=N("keybindingLabel.background",{dark:new $(new bt(128,128,128,.17)),light:new $(new bt(221,221,221,.4)),hcDark:$.transparent,hcLight:$.transparent},p("keybindingLabelBackground","Keybinding label background color. The keybinding label is used to represent a keyboard shortcut.")),yhe=N("keybindingLabel.foreground",{dark:$.fromHex("#CCCCCC"),light:$.fromHex("#555555"),hcDark:$.white,hcLight:ae},p("keybindingLabelForeground","Keybinding label foreground color. The keybinding label is used to represent a keyboard shortcut.")),She=N("keybindingLabel.border",{dark:new $(new bt(51,51,51,.6)),light:new $(new bt(204,204,204,.4)),hcDark:new $(new bt(111,195,223)),hcLight:gt},p("keybindingLabelBorder","Keybinding label border color. The keybinding label is used to represent a keyboard shortcut.")),Dhe=N("keybindingLabel.bottomBorder",{dark:new $(new bt(68,68,68,.6)),light:new $(new bt(187,187,187,.4)),hcDark:new $(new bt(111,195,223)),hcLight:ae},p("keybindingLabelBottomBorder","Keybinding label border bottom color. The keybinding label is used to represent a keyboard shortcut.")),Lhe=N("list.focusBackground",{dark:null,light:null,hcDark:null,hcLight:null},p("listFocusBackground","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.")),xhe=N("list.focusForeground",{dark:null,light:null,hcDark:null,hcLight:null},p("listFocusForeground","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.")),khe=N("list.focusOutline",{dark:Ir,light:Ir,hcDark:di,hcLight:di},p("listFocusOutline","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.")),Ehe=N("list.focusAndSelectionOutline",{dark:null,light:null,hcDark:null,hcLight:null},p("listFocusAndSelectionOutline","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.")),Cc=N("list.activeSelectionBackground",{dark:"#04395E",light:"#0060C0",hcDark:null,hcLight:$.fromHex("#0F4A85").transparent(.1)},p("listActiveSelectionBackground","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.")),td=N("list.activeSelectionForeground",{dark:$.white,light:$.white,hcDark:null,hcLight:null},p("listActiveSelectionForeground","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.")),Cv=N("list.activeSelectionIconForeground",{dark:null,light:null,hcDark:null,hcLight:null},p("listActiveSelectionIconForeground","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.")),Ihe=N("list.inactiveSelectionBackground",{dark:"#37373D",light:"#E4E6F1",hcDark:null,hcLight:$.fromHex("#0F4A85").transparent(.1)},p("listInactiveSelectionBackground","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.")),The=N("list.inactiveSelectionForeground",{dark:null,light:null,hcDark:null,hcLight:null},p("listInactiveSelectionForeground","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.")),Nhe=N("list.inactiveSelectionIconForeground",{dark:null,light:null,hcDark:null,hcLight:null},p("listInactiveSelectionIconForeground","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.")),Ahe=N("list.inactiveFocusBackground",{dark:null,light:null,hcDark:null,hcLight:null},p("listInactiveFocusBackground","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.")),Mhe=N("list.inactiveFocusOutline",{dark:null,light:null,hcDark:null,hcLight:null},p("listInactiveFocusOutline","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.")),MU=N("list.hoverBackground",{dark:"#2A2D2E",light:"#F0F0F0",hcDark:$.white.transparent(.1),hcLight:$.fromHex("#0F4A85").transparent(.1)},p("listHoverBackground","List/Tree background when hovering over items using the mouse.")),RU=N("list.hoverForeground",{dark:null,light:null,hcDark:null,hcLight:null},p("listHoverForeground","List/Tree foreground when hovering over items using the mouse.")),Rhe=N("list.dropBackground",{dark:"#062F4A",light:"#D6EBFF",hcDark:null,hcLight:null},p("listDropBackground","List/Tree drag and drop background when moving items over other items when using the mouse.")),Phe=N("list.dropBetweenBackground",{dark:Ql,light:Ql,hcDark:null,hcLight:null},p("listDropBetweenBackground","List/Tree drag and drop border color when moving items between items when using the mouse.")),da=N("list.highlightForeground",{dark:"#2AAAFF",light:"#0066BF",hcDark:Ir,hcLight:Ir},p("highlight","List/Tree foreground color of the match highlights when searching inside the list/tree.")),ww=N("list.focusHighlightForeground",{dark:da,light:Iue(Cc,da,"#BBE7FF"),hcDark:da,hcLight:da},p("listFocusHighlightForeground","List/Tree foreground color of the match highlights on actively focused items when searching inside the list/tree."));N("list.invalidItemForeground",{dark:"#B89500",light:"#B89500",hcDark:"#B89500",hcLight:"#B5200D"},p("invalidItemForeground","List/Tree foreground color for invalid items, for example an unresolved root in explorer."));N("list.errorForeground",{dark:"#F88070",light:"#B01011",hcDark:null,hcLight:null},p("listErrorForeground","Foreground color of list items containing errors."));N("list.warningForeground",{dark:"#CCA700",light:"#855F00",hcDark:null,hcLight:null},p("listWarningForeground","Foreground color of list items containing warnings."));const Fhe=N("listFilterWidget.background",{light:ap(Hi,0),dark:Ja(Hi,0),hcDark:Hi,hcLight:Hi},p("listFilterWidgetBackground","Background color of the type filter widget in lists and trees.")),Ohe=N("listFilterWidget.outline",{dark:$.transparent,light:$.transparent,hcDark:"#f38518",hcLight:"#007ACC"},p("listFilterWidgetOutline","Outline color of the type filter widget in lists and trees.")),Bhe=N("listFilterWidget.noMatchesOutline",{dark:"#BE1100",light:"#BE1100",hcDark:gt,hcLight:gt},p("listFilterWidgetNoMatchesOutline","Outline color of the type filter widget in lists and trees, when there are no matches.")),Whe=N("listFilterWidget.shadow",{dark:vc,light:vc,hcDark:vc,hcLight:vc},p("listFilterWidgetShadow","Shadow color of the type filter widget in lists and trees."));N("list.filterMatchBackground",{dark:pc,light:pc,hcDark:null,hcLight:null},p("listFilterMatchHighlight","Background color of the filtered match."));N("list.filterMatchBorder",{dark:zu,light:zu,hcDark:gt,hcLight:di},p("listFilterMatchHighlightBorder","Border color of the filtered match."));N("list.deemphasizedForeground",{dark:"#8C8C8C",light:"#8E8E90",hcDark:"#A7A8A9",hcLight:"#666666"},p("listDeemphasizedForeground","List/Tree foreground color for items that are deemphasized."));const wv=N("tree.indentGuidesStroke",{dark:"#585858",light:"#a9a9a9",hcDark:"#a9a9a9",hcLight:"#a5a5a5"},p("treeIndentGuidesStroke","Tree stroke color for the indentation guides.")),Hhe=N("tree.inactiveIndentGuidesStroke",{dark:Ee(wv,.4),light:Ee(wv,.4),hcDark:Ee(wv,.4),hcLight:Ee(wv,.4)},p("treeInactiveIndentGuidesStroke","Tree stroke color for the indentation guides that are not active.")),Vhe=N("tree.tableColumnsBorder",{dark:"#CCCCCC20",light:"#61616120",hcDark:null,hcLight:null},p("tableColumnsBorder","Table border color between columns.")),zhe=N("tree.tableOddRowsBackground",{dark:Ee(ae,.04),light:Ee(ae,.04),hcDark:null,hcLight:null},p("tableOddRowsBackgroundColor","Background color for odd table rows.")),Uhe=N("menu.border",{dark:null,light:null,hcDark:gt,hcLight:gt},p("menuBorder","Border color of menus.")),$he=N("menu.foreground",{dark:bc,light:bc,hcDark:bc,hcLight:bc},p("menuForeground","Foreground color of menu items.")),jhe=N("menu.background",{dark:ed,light:ed,hcDark:ed,hcLight:ed},p("menuBackground","Background color of menu items.")),Khe=N("menu.selectionForeground",{dark:td,light:td,hcDark:td,hcLight:td},p("menuSelectionForeground","Foreground color of the selected menu item in menus.")),qhe=N("menu.selectionBackground",{dark:Cc,light:Cc,hcDark:Cc,hcLight:Cc},p("menuSelectionBackground","Background color of the selected menu item in menus.")),Ghe=N("menu.selectionBorder",{dark:null,light:null,hcDark:di,hcLight:di},p("menuSelectionBorder","Border color of the selected menu item in menus.")),Zhe=N("menu.separatorBackground",{dark:"#606060",light:"#D4D4D4",hcDark:gt,hcLight:gt},p("menuSeparatorBackground","Color of a separator menu item in menus.")),NB=N("quickInput.background",{dark:Hi,light:Hi,hcDark:Hi,hcLight:Hi},p("pickerBackground","Quick picker background color. The quick picker widget is the container for pickers like the command palette.")),Xhe=N("quickInput.foreground",{dark:gc,light:gc,hcDark:gc,hcLight:gc},p("pickerForeground","Quick picker foreground color. The quick picker widget is the container for pickers like the command palette.")),Yhe=N("quickInputTitle.background",{dark:new $(new bt(255,255,255,.105)),light:new $(new bt(0,0,0,.06)),hcDark:"#000000",hcLight:$.white},p("pickerTitleBackground","Quick picker title background color. The quick picker widget is the container for pickers like the command palette.")),PU=N("pickerGroup.foreground",{dark:"#3794FF",light:"#0066BF",hcDark:$.white,hcLight:"#0F4A85"},p("pickerGroupForeground","Quick picker color for grouping labels.")),Qhe=N("pickerGroup.border",{dark:"#3F3F46",light:"#CCCEDB",hcDark:$.white,hcLight:"#0F4A85"},p("pickerGroupBorder","Quick picker color for grouping borders.")),AB=N("quickInput.list.focusBackground",{dark:null,light:null,hcDark:null,hcLight:null},"",void 0,p("quickInput.list.focusBackground deprecation","Please use quickInputList.focusBackground instead")),Uu=N("quickInputList.focusForeground",{dark:td,light:td,hcDark:td,hcLight:td},p("quickInput.listFocusForeground","Quick picker foreground color for the focused item.")),cm=N("quickInputList.focusIconForeground",{dark:Cv,light:Cv,hcDark:Cv,hcLight:Cv},p("quickInput.listFocusIconForeground","Quick picker icon foreground color for the focused item.")),$u=N("quickInputList.focusBackground",{dark:Gb(AB,Cc),light:Gb(AB,Cc),hcDark:null,hcLight:null},p("quickInput.listFocusBackground","Quick picker background color for the focused item."));N("search.resultsInfoForeground",{light:ae,dark:Ee(ae,.65),hcDark:ae,hcLight:ae},p("search.resultsInfoForeground","Color of the text in the search viewlet's completion message."));N("searchEditor.findMatchBackground",{light:Ee(pc,.66),dark:Ee(pc,.66),hcDark:pc,hcLight:pc},p("searchEditor.queryMatch","Color of the Search Editor query matches."));N("searchEditor.findMatchBorder",{light:Ee(zu,.66),dark:Ee(zu,.66),hcDark:zu,hcLight:zu},p("searchEditor.editorFindMatchBorder","Border color of the Search Editor query matches."));class yx{constructor(e,t){this.x=e,this.y=t,this._pageCoordinatesBrand=void 0}toClientCoordinates(e){return new FU(this.x-e.scrollX,this.y-e.scrollY)}}class FU{constructor(e,t){this.clientX=e,this.clientY=t,this._clientCoordinatesBrand=void 0}toPageCoordinates(e){return new yx(this.clientX+e.scrollX,this.clientY+e.scrollY)}}class Jhe{constructor(e,t,i,n){this.x=e,this.y=t,this.width=i,this.height=n,this._editorPagePositionBrand=void 0}}class ege{constructor(e,t){this.x=e,this.y=t,this._positionRelativeToEditorBrand=void 0}}function FF(s){const e=qi(s);return new Jhe(e.left,e.top,e.width,e.height)}function OF(s,e,t){const i=e.width/s.offsetWidth,n=e.height/s.offsetHeight,o=(t.x-e.x)/i,r=(t.y-e.y)/n;return new ege(o,r)}class Nh extends ra{constructor(e,t,i){super(Te(i),e),this._editorMouseEventBrand=void 0,this.isFromPointerCapture=t,this.pos=new yx(this.posx,this.posy),this.editorPos=FF(i),this.relativePos=OF(i,this.editorPos,this.pos)}}class tge{constructor(e){this._editorViewDomNode=e}_create(e){return new Nh(e,!1,this._editorViewDomNode)}onContextMenu(e,t){return K(e,"contextmenu",i=>{t(this._create(i))})}onMouseUp(e,t){return K(e,"mouseup",i=>{t(this._create(i))})}onMouseDown(e,t){return K(e,ee.MOUSE_DOWN,i=>{t(this._create(i))})}onPointerDown(e,t){return K(e,ee.POINTER_DOWN,i=>{t(this._create(i),i.pointerId)})}onMouseLeave(e,t){return K(e,ee.MOUSE_LEAVE,i=>{t(this._create(i))})}onMouseMove(e,t){return K(e,"mousemove",i=>t(this._create(i)))}}class ige{constructor(e){this._editorViewDomNode=e}_create(e){return new Nh(e,!1,this._editorViewDomNode)}onPointerUp(e,t){return K(e,"pointerup",i=>{t(this._create(i))})}onPointerDown(e,t){return K(e,ee.POINTER_DOWN,i=>{t(this._create(i),i.pointerId)})}onPointerLeave(e,t){return K(e,ee.POINTER_LEAVE,i=>{t(this._create(i))})}onPointerMove(e,t){return K(e,"pointermove",i=>t(this._create(i)))}}class nge extends H{constructor(e){super(),this._editorViewDomNode=e,this._globalPointerMoveMonitor=this._register(new c0),this._keydownListener=null}startMonitoring(e,t,i,n,o){this._keydownListener=Ni(e.ownerDocument,"keydown",r=>{r.toKeyCodeChord().isModifierKey()||this._globalPointerMoveMonitor.stopMonitoring(!0,r.browserEvent)},!0),this._globalPointerMoveMonitor.startMonitoring(e,t,i,r=>{n(new Nh(r,!0,this._editorViewDomNode))},r=>{this._keydownListener.dispose(),o(r)})}stopMonitoring(){this._globalPointerMoveMonitor.stopMonitoring(!0)}}class v1{constructor(e){this._editor=e,this._instanceId=++v1._idPool,this._counter=0,this._rules=new Map,this._garbageCollectionScheduler=new Wt(()=>this.garbageCollect(),1e3)}createClassNameRef(e){const t=this.getOrCreateRule(e);return t.increaseRefCount(),{className:t.className,dispose:()=>{t.decreaseRefCount(),this._garbageCollectionScheduler.schedule()}}}getOrCreateRule(e){const t=this.computeUniqueKey(e);let i=this._rules.get(t);if(!i){const n=this._counter++;i=new sge(t,`dyn-rule-${this._instanceId}-${n}`,US(this._editor.getContainerDomNode())?this._editor.getContainerDomNode():void 0,e),this._rules.set(t,i)}return i}computeUniqueKey(e){return JSON.stringify(e)}garbageCollect(){for(const e of this._rules.values())e.hasReferences()||(this._rules.delete(e.key),e.dispose())}}v1._idPool=0;class sge{constructor(e,t,i,n){this.key=e,this.className=t,this.properties=n,this._referenceCount=0,this._styleElementDisposables=new Y,this._styleElement=ar(i,void 0,this._styleElementDisposables),this._styleElement.textContent=this.getCssText(this.className,this.properties)}getCssText(e,t){let i=`.${e} {`;for(const n in t){const o=t[n];let r;typeof o=="object"?r=fe(o.id):r=o;const a=oge(n);i+=` ${a}: ${r};`}return i+=` }`,i}dispose(){this._styleElementDisposables.dispose(),this._styleElement=void 0}increaseRefCount(){this._referenceCount++}decreaseRefCount(){this._referenceCount--}hasReferences(){return this._referenceCount>0}}function oge(s){return s.replace(/(^[A-Z])/,([e])=>e.toLowerCase()).replace(/([A-Z])/g,([e])=>`-${e.toLowerCase()}`)}class b1 extends H{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 t=!1;for(let i=0,n=e.length;i =a.left?n.width=Math.max(n.width,a.left+a.width-n.left):(t[i++]=n,n=a)}return t[i++]=n,t}static _createHorizontalRangesFromClientRects(e,t,i){if(!e||e.length===0)return null;const n=[];for(let o=0,r=e.length;o l)return null;if(t=Math.min(l,Math.max(0,t)),n=Math.min(l,Math.max(0,n)),t===n&&i===o&&i===0&&!e.children[t].firstChild){const h=e.children[t].getClientRects();return r.markDidDomLayout(),this._createHorizontalRangesFromClientRects(h,r.clientRectDeltaLeft,r.clientRectScale)}t!==n&&n>0&&o===0&&(n--,o=1073741824);let d=e.children[t].firstChild,c=e.children[n].firstChild;if((!d||!c)&&(!d&&i===0&&t>0&&(d=e.children[t-1].firstChild,i=1073741824),!c&&o===0&&n>0&&(c=e.children[n-1].firstChild,o=1073741824)),!d||!c)return null;i=Math.min(d.textContent.length,Math.max(0,i)),o=Math.min(c.textContent.length,Math.max(0,o));const u=this._readClientRects(d,i,c,o,r.endNode);return r.markDidDomLayout(),this._createHorizontalRangesFromClientRects(u,r.clientRectDeltaLeft,r.clientRectScale)}}var Nr;(function(s){s.DARK="dark",s.LIGHT="light",s.HIGH_CONTRAST_DARK="hcDark",s.HIGH_CONTRAST_LIGHT="hcLight"})(Nr||(Nr={}));function dd(s){return s===Nr.HIGH_CONTRAST_DARK||s===Nr.HIGH_CONTRAST_LIGHT}function Dx(s){return s===Nr.DARK||s===Nr.HIGH_CONTRAST_DARK}const cge=function(){return md?!0:!($s||Fr||Lh)}();let Rm=!0;class RB{constructor(e,t){this.themeType=t;const i=e.options,n=i.get(50);i.get(38)==="off"?this.renderWhitespace=i.get(99):this.renderWhitespace="none",this.renderControlCharacters=i.get(94),this.spaceWidth=n.spaceWidth,this.middotWidth=n.middotWidth,this.wsmiddotWidth=n.wsmiddotWidth,this.useMonospaceOptimizations=n.isMonospace&&!i.get(33),this.canUseHalfwidthRightwardsArrow=n.canUseHalfwidthRightwardsArrow,this.lineHeight=i.get(67),this.stopRenderingLineAfter=i.get(117),this.fontLigatures=i.get(51)}equals(e){return this.themeType===e.themeType&&this.renderWhitespace===e.renderWhitespace&&this.renderControlCharacters===e.renderControlCharacters&&this.spaceWidth===e.spaceWidth&&this.middotWidth===e.middotWidth&&this.wsmiddotWidth===e.wsmiddotWidth&&this.useMonospaceOptimizations===e.useMonospaceOptimizations&&this.canUseHalfwidthRightwardsArrow===e.canUseHalfwidthRightwardsArrow&&this.lineHeight===e.lineHeight&&this.stopRenderingLineAfter===e.stopRenderingLineAfter&&this.fontLigatures===e.fontLigatures}}class Ul{constructor(e){this._options=e,this._isMaybeInvalid=!0,this._renderedViewLine=null}getDomNode(){return this._renderedViewLine&&this._renderedViewLine.domNode?this._renderedViewLine.domNode.domNode:null}setDomNode(e){if(this._renderedViewLine)this._renderedViewLine.domNode=It(e);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(e){this._isMaybeInvalid=!0,this._options=e}onSelectionChanged(){return dd(this._options.themeType)||this._options.renderWhitespace==="selection"?(this._isMaybeInvalid=!0,!0):!1}renderLine(e,t,i,n,o){if(this._isMaybeInvalid===!1)return!1;this._isMaybeInvalid=!1;const r=n.getViewLineRenderingData(e),a=this._options,l=Os.filter(r.inlineDecorations,e,r.minColumn,r.maxColumn);let d=null;if(dd(a.themeType)||this._options.renderWhitespace==="selection"){const g=n.selections;for(const f of g){if(f.endLineNumber e)continue;const m=f.startLineNumber===e?f.startColumn:r.minColumn,_=f.endLineNumber===e?f.endColumn:r.maxColumn;m<_&&(dd(a.themeType)&&l.push(new Os(m,_,"inline-selected-text",0)),this._options.renderWhitespace==="selection"&&(d||(d=[]),d.push(new _U(m-1,_-1))))}}const c=new tg(a.useMonospaceOptimizations,a.canUseHalfwidthRightwardsArrow,r.content,r.continuesWithWrappedLine,r.isBasicASCII,r.containsRTL,r.minColumn-1,r.tokens,l,r.tabSize,r.startVisibleColumn,a.spaceWidth,a.middotWidth,a.wsmiddotWidth,a.stopRenderingLineAfter,a.renderWhitespace,a.renderControlCharacters,a.fontLigatures!==Zo.OFF,d);if(this._renderedViewLine&&this._renderedViewLine.input.equals(c))return!1;o.appendString(' ');const u=m1(c,o);o.appendString("");let h=null;return Rm&&cge&&r.isBasicASCII&&a.useMonospaceOptimizations&&u.containsForeignElements===0&&(h=new yw(this._renderedViewLine?this._renderedViewLine.domNode:null,c,u.characterMapping)),h||(h=BU(this._renderedViewLine?this._renderedViewLine.domNode:null,c,u.characterMapping,u.containsRTL,u.containsForeignElements)),this._renderedViewLine=h,!0}layoutLine(e,t,i){this._renderedViewLine&&this._renderedViewLine.domNode&&(this._renderedViewLine.domNode.setTop(t),this._renderedViewLine.domNode.setHeight(i))}getWidth(e){return this._renderedViewLine?this._renderedViewLine.getWidth(e):0}getWidthIsFast(){return this._renderedViewLine?this._renderedViewLine.getWidthIsFast():!0}needsMonospaceFontCheck(){return this._renderedViewLine?this._renderedViewLine instanceof yw:!1}monospaceAssumptionsAreValid(){return this._renderedViewLine&&this._renderedViewLine instanceof yw?this._renderedViewLine.monospaceAssumptionsAreValid():Rm}onMonospaceAssumptionsInvalidated(){this._renderedViewLine&&this._renderedViewLine instanceof yw&&(this._renderedViewLine=this._renderedViewLine.toSlowRenderedLine())}getVisibleRangesForRange(e,t,i,n){if(!this._renderedViewLine)return null;t=Math.min(this._renderedViewLine.input.lineContent.length+1,Math.max(1,t)),i=Math.min(this._renderedViewLine.input.lineContent.length+1,Math.max(1,i));const o=this._renderedViewLine.input.stopRenderingLineAfter;if(o!==-1&&t>o+1&&i>o+1)return new MB(!0,[new lf(this.getWidth(n),0)]);o!==-1&&t>o+1&&(t=o+1),o!==-1&&i>o+1&&(i=o+1);const r=this._renderedViewLine.getVisibleRangesForRange(e,t,i,n);return r&&r.length>0?new MB(!1,r):null}getColumnOfNodeOffset(e,t){return this._renderedViewLine?this._renderedViewLine.getColumnOfNodeOffset(e,t):1}}Ul.CLASS_NAME="view-line";class yw{constructor(e,t,i){this._cachedWidth=-1,this.domNode=e,this.input=t;const n=Math.floor(t.lineContent.length/300);if(n>0){this._keyColumnPixelOffsetCache=new Float32Array(n);for(let o=0;o=2&&(console.warn("monospace assumptions have been violated, therefore disabling monospace optimizations!"),Rm=!1)}return Rm}toSlowRenderedLine(){return BU(this.domNode,this.input,this._characterMapping,!1,0)}getVisibleRangesForRange(e,t,i,n){const o=this._getColumnPixelOffset(e,t,n),r=this._getColumnPixelOffset(e,i,n);return[new lf(o,r-o)]}_getColumnPixelOffset(e,t,i){if(t<=300){const d=this._characterMapping.getHorizontalOffset(t);return this._charWidth*d}const n=Math.floor((t-1)/300)-1,o=(n+1)*300+1;let r=-1;if(this._keyColumnPixelOffsetCache&&(r=this._keyColumnPixelOffsetCache[n],r===-1&&(r=this._actualReadPixelOffset(e,o,i),this._keyColumnPixelOffsetCache[n]=r)),r===-1){const d=this._characterMapping.getHorizontalOffset(t);return this._charWidth*d}const a=this._characterMapping.getHorizontalOffset(o),l=this._characterMapping.getHorizontalOffset(t);return r+this._charWidth*(l-a)}_getReadingTarget(e){return e.domNode.firstChild}_actualReadPixelOffset(e,t,i){if(!this.domNode)return-1;const n=this._characterMapping.getDomPosition(t),o=Ky.readHorizontalRanges(this._getReadingTarget(this.domNode),n.partIndex,n.charIndex,n.partIndex,n.charIndex,i);return!o||o.length===0?-1:o[0].left}getColumnOfNodeOffset(e,t){return BF(this._characterMapping,e,t)}}class OU{constructor(e,t,i,n,o){if(this.domNode=e,this.input=t,this._characterMapping=i,this._isWhitespaceOnly=/^\s*$/.test(t.lineContent),this._containsForeignElements=o,this._cachedWidth=-1,this._pixelOffsetCache=null,!n||this._characterMapping.length===0){this._pixelOffsetCache=new Float32Array(Math.max(2,this._characterMapping.length+1));for(let r=0,a=this._characterMapping.length;r<=a;r++)this._pixelOffsetCache[r]=-1}}_getReadingTarget(e){return e.domNode.firstChild}getWidth(e){return this.domNode?(this._cachedWidth===-1&&(this._cachedWidth=this._getReadingTarget(this.domNode).offsetWidth,e==null||e.markDidDomLayout()),this._cachedWidth):0}getWidthIsFast(){return this._cachedWidth!==-1}getVisibleRangesForRange(e,t,i,n){if(!this.domNode)return null;if(this._pixelOffsetCache!==null){const o=this._readPixelOffset(this.domNode,e,t,n);if(o===-1)return null;const r=this._readPixelOffset(this.domNode,e,i,n);return r===-1?null:[new lf(o,r-o)]}return this._readVisibleRangesForRange(this.domNode,e,t,i,n)}_readVisibleRangesForRange(e,t,i,n,o){if(i===n){const r=this._readPixelOffset(e,t,i,o);return r===-1?null:[new lf(r,0)]}else return this._readRawVisibleRangesForRange(e,i,n,o)}_readPixelOffset(e,t,i,n){if(this._characterMapping.length===0){if(this._containsForeignElements===0||this._containsForeignElements===2)return 0;if(this._containsForeignElements===1)return this.getWidth(n);const o=this._getReadingTarget(e);return o.firstChild?(n.markDidDomLayout(),o.firstChild.offsetWidth):0}if(this._pixelOffsetCache!==null){const o=this._pixelOffsetCache[i];if(o!==-1)return o;const r=this._actualReadPixelOffset(e,t,i,n);return this._pixelOffsetCache[i]=r,r}return this._actualReadPixelOffset(e,t,i,n)}_actualReadPixelOffset(e,t,i,n){if(this._characterMapping.length===0){const l=Ky.readHorizontalRanges(this._getReadingTarget(e),0,0,0,0,n);return!l||l.length===0?-1:l[0].left}if(i===this._characterMapping.length&&this._isWhitespaceOnly&&this._containsForeignElements===0)return this.getWidth(n);const o=this._characterMapping.getDomPosition(i),r=Ky.readHorizontalRanges(this._getReadingTarget(e),o.partIndex,o.charIndex,o.partIndex,o.charIndex,n);if(!r||r.length===0)return-1;const a=r[0].left;if(this.input.isBasicASCII){const l=this._characterMapping.getHorizontalOffset(i),d=Math.round(this.input.spaceWidth*l);if(Math.abs(d-a)<=1)return d}return a}_readRawVisibleRangesForRange(e,t,i,n){if(t===1&&i===this._characterMapping.length)return[new lf(0,this.getWidth(n))];const o=this._characterMapping.getDomPosition(t),r=this._characterMapping.getDomPosition(i);return Ky.readHorizontalRanges(this._getReadingTarget(e),o.partIndex,o.charIndex,r.partIndex,r.charIndex,n)}getColumnOfNodeOffset(e,t){return BF(this._characterMapping,e,t)}}class uge extends OU{_readVisibleRangesForRange(e,t,i,n,o){const r=super._readVisibleRangesForRange(e,t,i,n,o);if(!r||r.length===0||i===n||i===1&&n===this._characterMapping.length)return r;if(!this.input.containsRTL){const a=this._readPixelOffset(e,t,n,o);if(a!==-1){const l=r[r.length-1];l.left=t){const u=t-r;return d-t=4&&e[0]===3&&e[3]===8}static isStrictChildOfViewLines(e){return e.length>4&&e[0]===3&&e[3]===8}static isChildOfScrollableElement(e){return e.length>=2&&e[0]===3&&e[1]===6}static isChildOfMinimap(e){return e.length>=2&&e[0]===3&&e[1]===9}static isChildOfContentWidgets(e){return e.length>=4&&e[0]===3&&e[3]===1}static isChildOfOverflowGuard(e){return e.length>=1&&e[0]===3}static isChildOfOverflowingContentWidgets(e){return e.length>=1&&e[0]===2}static isChildOfOverlayWidgets(e){return e.length>=2&&e[0]===3&&e[1]===4}static isChildOfOverflowingOverlayWidgets(e){return e.length>=1&&e[0]===5}}class v_{constructor(e,t,i){this.viewModel=e.viewModel;const n=e.configuration.options;this.layoutInfo=n.get(145),this.viewDomNode=t.viewDomNode,this.lineHeight=n.get(67),this.stickyTabStops=n.get(116),this.typicalHalfwidthCharacterWidth=n.get(50).typicalHalfwidthCharacterWidth,this.lastRenderData=i,this._context=e,this._viewHelper=t}getZoneAtCoord(e){return v_.getZoneAtCoord(this._context,e)}static getZoneAtCoord(e,t){const i=e.viewLayout.getWhitespaceAtVerticalOffset(t);if(i){const n=i.verticalOffset+i.height/2,o=e.viewModel.getLineCount();let r=null,a,l=null;return i.afterLineNumber!==o&&(l=new W(i.afterLineNumber+1,1)),i.afterLineNumber>0&&(r=new W(i.afterLineNumber,e.viewModel.getLineMaxColumn(i.afterLineNumber))),l===null?a=r:r===null?a=l:t =e.layoutInfo.glyphMarginLeft,this.isInContentArea=!this.isInMarginArea,this.mouseColumn=Math.max(0,fs._getMouseColumn(this.mouseContentHorizontalOffset,e.typicalHalfwidthCharacterWidth))}}class mge extends pge{get target(){return this._useHitTestTarget?this.hitTestResult.value.hitTarget:this._eventTarget}get targetPath(){return this._targetPathCacheElement!==this.target&&(this._targetPathCacheElement=this.target,this._targetPathCacheValue=rl.collect(this.target,this._ctx.viewDomNode)),this._targetPathCacheValue}constructor(e,t,i,n,o){super(e,t,i,n),this.hitTestResult=new gl(()=>fs.doHitTest(this._ctx,this)),this._targetPathCacheElement=null,this._targetPathCacheValue=new Uint8Array(0),this._ctx=e,this._eventTarget=o;const r=!!this._eventTarget;this._useHitTestTarget=!r}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} target: ${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(e=null){return e&&e.column r.contentLeft+r.width)continue;const a=e.getVerticalOffsetForLineNumber(r.position.lineNumber);if(a<=o&&o<=a+r.height)return t.fulfillContentText(r.position,null,{mightBeForeignElement:!1,injectedText:null})}}return null}static _hitTestViewZone(e,t){const i=e.getZoneAtCoord(t.mouseVerticalOffset);if(i){const n=t.isInContentArea?8:5;return t.fulfillViewZone(n,i.position,i)}return null}static _hitTestTextArea(e,t){return Ds.isTextArea(t.targetPath)?e.lastRenderData.lastTextareaPosition?t.fulfillContentText(e.lastRenderData.lastTextareaPosition,null,{mightBeForeignElement:!1,injectedText:null}):t.fulfillTextarea():null}static _hitTestMargin(e,t){if(t.isInMarginArea){const i=e.getFullLineRangeAtCoord(t.mouseVerticalOffset),n=i.range.getStartPosition();let o=Math.abs(t.relativePos.x);const r={isAfterLines:i.isAfterLines,glyphMarginLeft:e.layoutInfo.glyphMarginLeft,glyphMarginWidth:e.layoutInfo.glyphMarginWidth,lineNumbersWidth:e.layoutInfo.lineNumbersWidth,offsetX:o};if(o-=e.layoutInfo.glyphMarginLeft,o<=e.layoutInfo.glyphMarginWidth){const a=e.viewModel.coordinatesConverter.convertViewPositionToModelPosition(i.range.getStartPosition()),l=e.viewModel.glyphLanes.getLanesAtLine(a.lineNumber);return r.glyphMarginLane=l[Math.floor(o/e.lineHeight)],t.fulfillMargin(2,n,i.range,r)}return o-=e.layoutInfo.glyphMarginWidth,o<=e.layoutInfo.lineNumbersWidth?t.fulfillMargin(3,n,i.range,r):(o-=e.layoutInfo.lineNumbersWidth,t.fulfillMargin(4,n,i.range,r))}return null}static _hitTestViewLines(e,t){if(!Ds.isChildOfViewLines(t.targetPath))return null;if(e.isInTopPadding(t.mouseVerticalOffset))return t.fulfillContentEmpty(new W(1,1),PB);if(e.isAfterLines(t.mouseVerticalOffset)||e.isInBottomPadding(t.mouseVerticalOffset)){const n=e.viewModel.getLineCount(),o=e.viewModel.getLineMaxColumn(n);return t.fulfillContentEmpty(new W(n,o),PB)}if(Ds.isStrictChildOfViewLines(t.targetPath)){const n=e.getLineNumberAtVerticalOffset(t.mouseVerticalOffset);if(e.viewModel.getLineLength(n)===0){const r=e.getLineWidth(n),a=dI(t.mouseContentHorizontalOffset-r);return t.fulfillContentEmpty(new W(n,1),a)}const o=e.getLineWidth(n);if(t.mouseContentHorizontalOffset>=o){const r=dI(t.mouseContentHorizontalOffset-o),a=new W(n,e.viewModel.getLineMaxColumn(n));return t.fulfillContentEmpty(a,r)}}const i=t.hitTestResult.value;return i.type===1?fs.createMouseTargetFromHitTestPosition(e,t,i.spanNode,i.position,i.injectedText):t.wouldBenefitFromHitTestTargetSwitch?(t.switchToHitTestTarget(),this._createMouseTarget(e,t)):t.fulfillUnknown()}static _hitTestMinimap(e,t){if(Ds.isChildOfMinimap(t.targetPath)){const i=e.getLineNumberAtVerticalOffset(t.mouseVerticalOffset),n=e.viewModel.getLineMaxColumn(i);return t.fulfillScrollbar(new W(i,n))}return null}static _hitTestScrollbarSlider(e,t){if(Ds.isChildOfScrollableElement(t.targetPath)&&t.target&&t.target.nodeType===1){const i=t.target.className;if(i&&/\b(slider|scrollbar)\b/.test(i)){const n=e.getLineNumberAtVerticalOffset(t.mouseVerticalOffset),o=e.viewModel.getLineMaxColumn(n);return t.fulfillScrollbar(new W(n,o))}}return null}static _hitTestScrollbar(e,t){if(Ds.isChildOfScrollableElement(t.targetPath)){const i=e.getLineNumberAtVerticalOffset(t.mouseVerticalOffset),n=e.viewModel.getLineMaxColumn(i);return t.fulfillScrollbar(new W(i,n))}return null}getMouseColumn(e){const t=this._context.configuration.options,i=t.get(145),n=this._context.viewLayout.getCurrentScrollLeft()+e.x-i.contentLeft;return fs._getMouseColumn(n,t.get(50).typicalHalfwidthCharacterWidth)}static _getMouseColumn(e,t){return e<0?1:Math.round(e/t)+1}static createMouseTargetFromHitTestPosition(e,t,i,n,o){const r=n.lineNumber,a=n.column,l=e.getLineWidth(r);if(t.mouseContentHorizontalOffset>l){const v=dI(t.mouseContentHorizontalOffset-l);return t.fulfillContentEmpty(n,v)}const d=e.visibleRangeForPosition(r,a);if(!d)return t.fulfillUnknown(n);const c=d.left;if(Math.abs(t.mouseContentHorizontalOffset-c)<1)return t.fulfillContentText(n,null,{mightBeForeignElement:!!o,injectedText:o});const u=[];if(u.push({offset:d.left,column:a}),a>1){const v=e.visibleRangeForPosition(r,a-1);v&&u.push({offset:v.left,column:a-1})}const h=e.viewModel.getLineMaxColumn(r);if(a v.offset-b.offset);const g=t.pos.toClientCoordinates(Te(e.viewDomNode)),f=i.getBoundingClientRect(),m=f.left<=g.clientX&&g.clientX<=f.right;let _=null;for(let v=1;v o)){const a=Math.floor((n+o)/2);let l=t.pos.y+(a-t.mouseVerticalOffset);l<=t.editorPos.y&&(l=t.editorPos.y+1),l>=t.editorPos.y+t.editorPos.height&&(l=t.editorPos.y+t.editorPos.height-1);const d=new yx(t.pos.x,l),c=this._actualDoHitTestWithCaretRangeFromPoint(e,d.toClientCoordinates(Te(e.viewDomNode)));if(c.type===1)return c}return this._actualDoHitTestWithCaretRangeFromPoint(e,t.pos.toClientCoordinates(Te(e.viewDomNode)))}static _actualDoHitTestWithCaretRangeFromPoint(e,t){const i=Sf(e.viewDomNode);let n;if(i?typeof i.caretRangeFromPoint>"u"?n=_ge(i,t.clientX,t.clientY):n=i.caretRangeFromPoint(t.clientX,t.clientY):n=e.viewDomNode.ownerDocument.caretRangeFromPoint(t.clientX,t.clientY),!n||!n.startContainer)return new wu;const o=n.startContainer;if(o.nodeType===o.TEXT_NODE){const r=o.parentNode,a=r?r.parentNode:null,l=a?a.parentNode:null;return(l&&l.nodeType===l.ELEMENT_NODE?l.className:null)===Ul.CLASS_NAME?Wg.createFromDOMInfo(e,r,n.startOffset):new wu(o.parentNode)}else if(o.nodeType===o.ELEMENT_NODE){const r=o.parentNode,a=r?r.parentNode:null;return(a&&a.nodeType===a.ELEMENT_NODE?a.className:null)===Ul.CLASS_NAME?Wg.createFromDOMInfo(e,o,o.textContent.length):new wu(o)}return new wu}static _doHitTestWithCaretPositionFromPoint(e,t){const i=e.viewDomNode.ownerDocument.caretPositionFromPoint(t.clientX,t.clientY);if(i.offsetNode.nodeType===i.offsetNode.TEXT_NODE){const n=i.offsetNode.parentNode,o=n?n.parentNode:null,r=o?o.parentNode:null;return(r&&r.nodeType===r.ELEMENT_NODE?r.className:null)===Ul.CLASS_NAME?Wg.createFromDOMInfo(e,i.offsetNode.parentNode,i.offset):new wu(i.offsetNode.parentNode)}if(i.offsetNode.nodeType===i.offsetNode.ELEMENT_NODE){const n=i.offsetNode.parentNode,o=n&&n.nodeType===n.ELEMENT_NODE?n.className:null,r=n?n.parentNode:null,a=r&&r.nodeType===r.ELEMENT_NODE?r.className:null;if(o===Ul.CLASS_NAME){const l=i.offsetNode.childNodes[Math.min(i.offset,i.offsetNode.childNodes.length-1)];if(l)return Wg.createFromDOMInfo(e,l,0)}else if(a===Ul.CLASS_NAME)return Wg.createFromDOMInfo(e,i.offsetNode,0)}return new wu(i.offsetNode)}static _snapToSoftTabBoundary(e,t){const i=t.getLineContent(e.lineNumber),{tabSize:n}=t.model.getOptions(),o=Yb.atomicPosition(i,e.column-1,n,2);return o!==-1?new W(e.lineNumber,o+1):e}static doHitTest(e,t){let i=new wu;if(typeof e.viewDomNode.ownerDocument.caretRangeFromPoint=="function"?i=this._doHitTestWithCaretRangeFromPoint(e,t):e.viewDomNode.ownerDocument.caretPositionFromPoint&&(i=this._doHitTestWithCaretPositionFromPoint(e,t.pos.toClientCoordinates(Te(e.viewDomNode)))),i.type===1){const n=e.viewModel.getInjectedTextAt(i.position),o=e.viewModel.normalizePosition(i.position,2);(n||!o.equals(i.position))&&(i=new WU(o,i.spanNode,n))}return i}}function _ge(s,e,t){const i=document.createRange();let n=s.elementFromPoint(e,t);if(n!==null){for(;n&&n.firstChild&&n.firstChild.nodeType!==n.firstChild.TEXT_NODE&&n.lastChild&&n.lastChild.firstChild;)n=n.lastChild;const o=n.getBoundingClientRect(),r=Te(n),a=r.getComputedStyle(n,null).getPropertyValue("font-style"),l=r.getComputedStyle(n,null).getPropertyValue("font-variant"),d=r.getComputedStyle(n,null).getPropertyValue("font-weight"),c=r.getComputedStyle(n,null).getPropertyValue("font-size"),u=r.getComputedStyle(n,null).getPropertyValue("line-height"),h=r.getComputedStyle(n,null).getPropertyValue("font-family"),g=`${a} ${l} ${d} ${c}/${u} ${h}`,f=n.innerText;let m=o.left,_=0,v;if(e>o.left+o.width)_=f.length;else{const b=Xg.getInstance();for(let C=0;C =0;a--)(r=s[a])&&(o=(n<3?r(o):n>3?r(e,t,o):r(e,t))||o);return n>3&&o&&Object.defineProperty(e,t,o),o},Xt;(function(s){s.Tap="-monaco-gesturetap",s.Change="-monaco-gesturechange",s.Start="-monaco-gesturestart",s.End="-monaco-gesturesend",s.Contextmenu="-monaco-gesturecontextmenu"})(Xt||(Xt={}));class Gt extends H{constructor(){super(),this.dispatched=!1,this.targets=new Rs,this.ignoreTargets=new Rs,this.activeTouches={},this.handle=null,this._lastSetTapCountTime=0,this._register(le.runAndSubscribe(JL,({window:e,disposables:t})=>{t.add(K(e.document,"touchstart",i=>this.onTouchStart(i),{passive:!1})),t.add(K(e.document,"touchend",i=>this.onTouchEnd(e,i))),t.add(K(e.document,"touchmove",i=>this.onTouchMove(i),{passive:!1}))},{window:Ht,disposables:this._store}))}static addTarget(e){if(!Gt.isTouchDevice())return H.None;Gt.INSTANCE||(Gt.INSTANCE=new Gt);const t=Gt.INSTANCE.targets.push(e);return Ie(t)}static ignoreTarget(e){if(!Gt.isTouchDevice())return H.None;Gt.INSTANCE||(Gt.INSTANCE=new Gt);const t=Gt.INSTANCE.ignoreTargets.push(e);return Ie(t)}static isTouchDevice(){return"ontouchstart"in Ht||navigator.maxTouchPoints>0}dispose(){this.handle&&(this.handle.dispose(),this.handle=null),super.dispose()}onTouchStart(e){const t=Date.now();this.handle&&(this.handle.dispose(),this.handle=null);for(let i=0,n=e.targetTouches.length;i =Gt.HOLD_DELAY&&Math.abs(l.initialPageX-mr(l.rollingPageX))<30&&Math.abs(l.initialPageY-mr(l.rollingPageY))<30){const c=this.newGestureEvent(Xt.Contextmenu,l.initialTarget);c.pageX=mr(l.rollingPageX),c.pageY=mr(l.rollingPageY),this.dispatchEvent(c)}else if(n===1){const c=mr(l.rollingPageX),u=mr(l.rollingPageY),h=mr(l.rollingTimestamps)-l.rollingTimestamps[0],g=c-l.rollingPageX[0],f=u-l.rollingPageY[0],m=[...this.targets].filter(_=>l.initialTarget instanceof Node&&_.contains(l.initialTarget));this.inertia(e,m,i,Math.abs(g)/h,g>0?1:-1,c,Math.abs(f)/h,f>0?1:-1,u)}this.dispatchEvent(this.newGestureEvent(Xt.End,l.initialTarget)),delete this.activeTouches[a.identifier]}this.dispatched&&(t.preventDefault(),t.stopPropagation(),this.dispatched=!1)}newGestureEvent(e,t){const i=document.createEvent("CustomEvent");return i.initEvent(e,!1,!0),i.initialTarget=t,i.tapCount=0,i}dispatchEvent(e){if(e.type===Xt.Tap){const t=new Date().getTime();let i=0;t-this._lastSetTapCountTime>Gt.CLEAR_TAP_COUNT_TIME?i=1:i=2,this._lastSetTapCountTime=t,e.tapCount=i}else(e.type===Xt.Change||e.type===Xt.Contextmenu)&&(this._lastSetTapCountTime=0);if(e.initialTarget instanceof Node){for(const i of this.ignoreTargets)if(i.contains(e.initialTarget))return;const t=[];for(const i of this.targets)if(i.contains(e.initialTarget)){let n=0,o=e.initialTarget;for(;o&&o!==i;)n++,o=o.parentElement;t.push([n,i])}t.sort((i,n)=>i[0]-n[0]);for(const[i,n]of t)n.dispatchEvent(e),this.dispatched=!0}}inertia(e,t,i,n,o,r,a,l,d){this.handle=Ao(e,()=>{const c=Date.now(),u=c-i;let h=0,g=0,f=!0;n+=Gt.SCROLL_FRICTION*u,a+=Gt.SCROLL_FRICTION*u,n>0&&(f=!1,h=o*n*u),a>0&&(f=!1,g=l*a*u);const m=this.newGestureEvent(Xt.Change);m.translationX=h,m.translationY=g,t.forEach(_=>_.dispatchEvent(m)),f||this.inertia(e,t,c,n,o,r+h,a,l,d+g)})}onTouchMove(e){const t=Date.now();for(let i=0,n=e.changedTouches.length;i 3&&(r.rollingPageX.shift(),r.rollingPageY.shift(),r.rollingTimestamps.shift()),r.rollingPageX.push(o.pageX),r.rollingPageY.push(o.pageY),r.rollingTimestamps.push(t)}this.dispatched&&(e.preventDefault(),e.stopPropagation(),this.dispatched=!1)}}Gt.SCROLL_FRICTION=-.005;Gt.HOLD_DELAY=700;Gt.CLEAR_TAP_COUNT_TIME=400;vge([zi],Gt,"isTouchDevice",null);let fr=class extends H{onclick(e,t){this._register(K(e,ee.CLICK,i=>t(new ra(Te(e),i))))}onmousedown(e,t){this._register(K(e,ee.MOUSE_DOWN,i=>t(new ra(Te(e),i))))}onmouseover(e,t){this._register(K(e,ee.MOUSE_OVER,i=>t(new ra(Te(e),i))))}onmouseleave(e,t){this._register(K(e,ee.MOUSE_LEAVE,i=>t(new ra(Te(e),i))))}onkeydown(e,t){this._register(K(e,ee.KEY_DOWN,i=>t(new Kt(i))))}onkeyup(e,t){this._register(K(e,ee.KEY_UP,i=>t(new Kt(i))))}oninput(e,t){this._register(K(e,ee.INPUT,t))}onblur(e,t){this._register(K(e,ee.BLUR,t))}onfocus(e,t){this._register(K(e,ee.FOCUS,t))}ignoreGesture(e){return Gt.ignoreTarget(e)}};const b_=11;class bge extends fr{constructor(e){super(),this._onActivate=e.onActivate,this.bgDomNode=document.createElement("div"),this.bgDomNode.className="arrow-background",this.bgDomNode.style.position="absolute",this.bgDomNode.style.width=e.bgWidth+"px",this.bgDomNode.style.height=e.bgHeight+"px",typeof e.top<"u"&&(this.bgDomNode.style.top="0px"),typeof e.left<"u"&&(this.bgDomNode.style.left="0px"),typeof e.bottom<"u"&&(this.bgDomNode.style.bottom="0px"),typeof e.right<"u"&&(this.bgDomNode.style.right="0px"),this.domNode=document.createElement("div"),this.domNode.className=e.className,this.domNode.classList.add(...Pe.asClassNameArray(e.icon)),this.domNode.style.position="absolute",this.domNode.style.width=b_+"px",this.domNode.style.height=b_+"px",typeof e.top<"u"&&(this.domNode.style.top=e.top+"px"),typeof e.left<"u"&&(this.domNode.style.left=e.left+"px"),typeof e.bottom<"u"&&(this.domNode.style.bottom=e.bottom+"px"),typeof e.right<"u"&&(this.domNode.style.right=e.right+"px"),this._pointerMoveMonitor=this._register(new c0),this._register(Ni(this.bgDomNode,ee.POINTER_DOWN,t=>this._arrowPointerDown(t))),this._register(Ni(this.domNode,ee.POINTER_DOWN,t=>this._arrowPointerDown(t))),this._pointerdownRepeatTimer=this._register(new lF),this._pointerdownScheduleRepeatTimer=this._register(new ya)}_arrowPointerDown(e){if(!e.target||!(e.target instanceof Element))return;const t=()=>{this._pointerdownRepeatTimer.cancelAndSet(()=>this._onActivate(),1e3/24,Te(e))};this._onActivate(),this._pointerdownRepeatTimer.cancel(),this._pointerdownScheduleRepeatTimer.cancelAndSet(t,200),this._pointerMoveMonitor.startMonitoring(e.target,e.pointerId,e.buttons,i=>{},()=>{this._pointerdownRepeatTimer.cancel(),this._pointerdownScheduleRepeatTimer.cancel()}),e.preventDefault()}}class Cge extends H{constructor(e,t,i){super(),this._visibility=e,this._visibleClassName=t,this._invisibleClassName=i,this._domNode=null,this._isVisible=!1,this._isNeeded=!1,this._rawShouldBeVisible=!1,this._shouldBeVisible=!1,this._revealTimer=this._register(new ya)}setVisibility(e){this._visibility!==e&&(this._visibility=e,this._updateShouldBeVisible())}setShouldBeVisible(e){this._rawShouldBeVisible=e,this._updateShouldBeVisible()}_applyVisibilitySetting(){return this._visibility===2?!1:this._visibility===3?!0:this._rawShouldBeVisible}_updateShouldBeVisible(){const e=this._applyVisibilitySetting();this._shouldBeVisible!==e&&(this._shouldBeVisible=e,this.ensureVisibility())}setIsNeeded(e){this._isNeeded!==e&&(this._isNeeded=e,this.ensureVisibility())}setDomNode(e){this._domNode=e,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(()=>{var e;(e=this._domNode)===null||e===void 0||e.setClassName(this._visibleClassName)},0))}_hide(e){var t;this._revealTimer.cancel(),this._isVisible&&(this._isVisible=!1,(t=this._domNode)===null||t===void 0||t.setClassName(this._invisibleClassName+(e?" fade":"")))}}const wge=140;class HU extends fr{constructor(e){super(),this._lazyRender=e.lazyRender,this._host=e.host,this._scrollable=e.scrollable,this._scrollByPage=e.scrollByPage,this._scrollbarState=e.scrollbarState,this._visibilityController=this._register(new Cge(e.visibility,"visible scrollbar "+e.extraScrollbarClassName,"invisible scrollbar "+e.extraScrollbarClassName)),this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._pointerMoveMonitor=this._register(new c0),this._shouldRender=!0,this.domNode=It(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(K(this.domNode.domNode,ee.POINTER_DOWN,t=>this._domNodePointerDown(t)))}_createArrow(e){const t=this._register(new bge(e));this.domNode.domNode.appendChild(t.bgDomNode),this.domNode.domNode.appendChild(t.domNode)}_createSlider(e,t,i,n){this.slider=It(document.createElement("div")),this.slider.setClassName("slider"),this.slider.setPosition("absolute"),this.slider.setTop(e),this.slider.setLeft(t),typeof i=="number"&&this.slider.setWidth(i),typeof n=="number"&&this.slider.setHeight(n),this.slider.setLayerHinting(!0),this.slider.setContain("strict"),this.domNode.domNode.appendChild(this.slider.domNode),this._register(K(this.slider.domNode,ee.POINTER_DOWN,o=>{o.button===0&&(o.preventDefault(),this._sliderPointerDown(o))})),this.onclick(this.slider.domNode,o=>{o.leftButton&&o.stopPropagation()})}_onElementSize(e){return this._scrollbarState.setVisibleSize(e)&&(this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._shouldRender=!0,this._lazyRender||this.render()),this._shouldRender}_onElementScrollSize(e){return this._scrollbarState.setScrollSize(e)&&(this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._shouldRender=!0,this._lazyRender||this.render()),this._shouldRender}_onElementScrollPosition(e){return this._scrollbarState.setScrollPosition(e)&&(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(e){e.target===this.domNode.domNode&&this._onPointerDown(e)}delegatePointerDown(e){const t=this.domNode.domNode.getClientRects()[0].top,i=t+this._scrollbarState.getSliderPosition(),n=t+this._scrollbarState.getSliderPosition()+this._scrollbarState.getSliderSize(),o=this._sliderPointerPosition(e);i<=o&&o<=n?e.button===0&&(e.preventDefault(),this._sliderPointerDown(e)):this._onPointerDown(e)}_onPointerDown(e){let t,i;if(e.target===this.domNode.domNode&&typeof e.offsetX=="number"&&typeof e.offsetY=="number")t=e.offsetX,i=e.offsetY;else{const o=qi(this.domNode.domNode);t=e.pageX-o.left,i=e.pageY-o.top}const n=this._pointerDownRelativePosition(t,i);this._setDesiredScrollPositionNow(this._scrollByPage?this._scrollbarState.getDesiredScrollPositionFromOffsetPaged(n):this._scrollbarState.getDesiredScrollPositionFromOffset(n)),e.button===0&&(e.preventDefault(),this._sliderPointerDown(e))}_sliderPointerDown(e){if(!e.target||!(e.target instanceof Element))return;const t=this._sliderPointerPosition(e),i=this._sliderOrthogonalPointerPosition(e),n=this._scrollbarState.clone();this.slider.toggleClassName("active",!0),this._pointerMoveMonitor.startMonitoring(e.target,e.pointerId,e.buttons,o=>{const r=this._sliderOrthogonalPointerPosition(o),a=Math.abs(r-i);if(as&&a>wge){this._setDesiredScrollPositionNow(n.getScrollPosition());return}const d=this._sliderPointerPosition(o)-t;this._setDesiredScrollPositionNow(n.getDesiredScrollPositionFromDelta(d))},()=>{this.slider.toggleClassName("active",!1),this._host.onDragEnd()}),this._host.onDragStart()}_setDesiredScrollPositionNow(e){const t={};this.writeScrollPosition(t,e),this._scrollable.setScrollPositionNow(t)}updateScrollbarSize(e){this._updateScrollbarSize(e),this._scrollbarState.setScrollbarSize(e),this._shouldRender=!0,this._lazyRender||this.render()}isNeeded(){return this._scrollbarState.isNeeded()}}const yge=20;class C_{constructor(e,t,i,n,o,r){this._scrollbarSize=Math.round(t),this._oppositeScrollbarSize=Math.round(i),this._arrowSize=Math.round(e),this._visibleSize=n,this._scrollSize=o,this._scrollPosition=r,this._computedAvailableSize=0,this._computedIsNeeded=!1,this._computedSliderSize=0,this._computedSliderRatio=0,this._computedSliderPosition=0,this._refreshComputedValues()}clone(){return new C_(this._arrowSize,this._scrollbarSize,this._oppositeScrollbarSize,this._visibleSize,this._scrollSize,this._scrollPosition)}setVisibleSize(e){const t=Math.round(e);return this._visibleSize!==t?(this._visibleSize=t,this._refreshComputedValues(),!0):!1}setScrollSize(e){const t=Math.round(e);return this._scrollSize!==t?(this._scrollSize=t,this._refreshComputedValues(),!0):!1}setScrollPosition(e){const t=Math.round(e);return this._scrollPosition!==t?(this._scrollPosition=t,this._refreshComputedValues(),!0):!1}setScrollbarSize(e){this._scrollbarSize=Math.round(e)}setOppositeScrollbarSize(e){this._oppositeScrollbarSize=Math.round(e)}static _computeValues(e,t,i,n,o){const r=Math.max(0,i-e),a=Math.max(0,r-2*t),l=n>0&&n>i;if(!l)return{computedAvailableSize:Math.round(r),computedIsNeeded:l,computedSliderSize:Math.round(a),computedSliderRatio:0,computedSliderPosition:0};const d=Math.round(Math.max(yge,Math.floor(i*a/n))),c=(a-d)/(n-i),u=o*c;return{computedAvailableSize:Math.round(r),computedIsNeeded:l,computedSliderSize:Math.round(d),computedSliderRatio:c,computedSliderPosition:Math.round(u)}}_refreshComputedValues(){const e=C_._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 t=e-this._arrowSize-this._computedSliderSize/2;return Math.round(t/this._computedSliderRatio)}getDesiredScrollPositionFromOffsetPaged(e){if(!this._computedIsNeeded)return 0;const t=e-this._arrowSize;let i=this._scrollPosition;return t this._host.onMouseWheel(new yf(null,1,0))}),this._createArrow({className:"scra",icon:oe.scrollbarButtonRight,top:a,left:void 0,bottom:void 0,right:r,bgWidth:t.arrowSize,bgHeight:t.horizontalScrollbarSize,onActivate:()=>this._host.onMouseWheel(new yf(null,-1,0))})}this._createSlider(Math.floor((t.horizontalScrollbarSize-t.horizontalSliderSize)/2),0,void 0,t.horizontalSliderSize)}_updateSlider(e,t){this.slider.setWidth(e),this.slider.setLeft(t)}_renderDomNode(e,t){this.domNode.setWidth(e),this.domNode.setHeight(t),this.domNode.setLeft(0),this.domNode.setBottom(0)}onDidScroll(e){return this._shouldRender=this._onElementScrollSize(e.scrollWidth)||this._shouldRender,this._shouldRender=this._onElementScrollPosition(e.scrollLeft)||this._shouldRender,this._shouldRender=this._onElementSize(e.width)||this._shouldRender,this._shouldRender}_pointerDownRelativePosition(e,t){return e}_sliderPointerPosition(e){return e.pageX}_sliderOrthogonalPointerPosition(e){return e.pageY}_updateScrollbarSize(e){this.slider.setHeight(e)}writeScrollPosition(e,t){e.scrollLeft=t}updateOptions(e){this.updateScrollbarSize(e.horizontal===2?0:e.horizontalScrollbarSize),this._scrollbarState.setOppositeScrollbarSize(e.vertical===2?0:e.verticalScrollbarSize),this._visibilityController.setVisibility(e.horizontal),this._scrollByPage=e.scrollByPage}}class Dge extends HU{constructor(e,t,i){const n=e.getScrollDimensions(),o=e.getCurrentScrollPosition();if(super({lazyRender:t.lazyRender,host:i,scrollbarState:new C_(t.verticalHasArrows?t.arrowSize:0,t.vertical===2?0:t.verticalScrollbarSize,0,n.height,n.scrollHeight,o.scrollTop),visibility:t.vertical,extraScrollbarClassName:"vertical",scrollable:e,scrollByPage:t.scrollByPage}),t.verticalHasArrows){const r=(t.arrowSize-b_)/2,a=(t.verticalScrollbarSize-b_)/2;this._createArrow({className:"scra",icon:oe.scrollbarButtonUp,top:r,left:a,bottom:void 0,right:void 0,bgWidth:t.verticalScrollbarSize,bgHeight:t.arrowSize,onActivate:()=>this._host.onMouseWheel(new yf(null,0,1))}),this._createArrow({className:"scra",icon:oe.scrollbarButtonDown,top:void 0,left:a,bottom:r,right:void 0,bgWidth:t.verticalScrollbarSize,bgHeight:t.arrowSize,onActivate:()=>this._host.onMouseWheel(new yf(null,0,-1))})}this._createSlider(0,Math.floor((t.verticalScrollbarSize-t.verticalSliderSize)/2),t.verticalSliderSize,void 0)}_updateSlider(e,t){this.slider.setHeight(e),this.slider.setTop(t)}_renderDomNode(e,t){this.domNode.setWidth(t),this.domNode.setHeight(e),this.domNode.setRight(0),this.domNode.setTop(0)}onDidScroll(e){return this._shouldRender=this._onElementScrollSize(e.scrollHeight)||this._shouldRender,this._shouldRender=this._onElementScrollPosition(e.scrollTop)||this._shouldRender,this._shouldRender=this._onElementSize(e.height)||this._shouldRender,this._shouldRender}_pointerDownRelativePosition(e,t){return t}_sliderPointerPosition(e){return e.pageY}_sliderOrthogonalPointerPosition(e){return e.pageX}_updateScrollbarSize(e){this.slider.setWidth(e)}writeScrollPosition(e,t){e.scrollTop=t}updateOptions(e){this.updateScrollbarSize(e.vertical===2?0:e.verticalScrollbarSize),this._scrollbarState.setOppositeScrollbarSize(0),this._visibilityController.setVisibility(e.vertical),this._scrollByPage=e.scrollByPage}}class nD{constructor(e,t,i,n,o,r,a){this._forceIntegerValues=e,this._scrollStateBrand=void 0,this._forceIntegerValues&&(t=t|0,i=i|0,n=n|0,o=o|0,r=r|0,a=a|0),this.rawScrollLeft=n,this.rawScrollTop=a,t<0&&(t=0),n+t>i&&(n=i-t),n<0&&(n=0),o<0&&(o=0),a+o>r&&(a=r-o),a<0&&(a=0),this.width=t,this.scrollWidth=i,this.scrollLeft=n,this.height=o,this.scrollHeight=r,this.scrollTop=a}equals(e){return this.rawScrollLeft===e.rawScrollLeft&&this.rawScrollTop===e.rawScrollTop&&this.width===e.width&&this.scrollWidth===e.scrollWidth&&this.scrollLeft===e.scrollLeft&&this.height===e.height&&this.scrollHeight===e.scrollHeight&&this.scrollTop===e.scrollTop}withScrollDimensions(e,t){return new nD(this._forceIntegerValues,typeof e.width<"u"?e.width:this.width,typeof e.scrollWidth<"u"?e.scrollWidth:this.scrollWidth,t?this.rawScrollLeft:this.scrollLeft,typeof e.height<"u"?e.height:this.height,typeof e.scrollHeight<"u"?e.scrollHeight:this.scrollHeight,t?this.rawScrollTop:this.scrollTop)}withScrollPosition(e){return new nD(this._forceIntegerValues,this.width,this.scrollWidth,typeof e.scrollLeft<"u"?e.scrollLeft:this.rawScrollLeft,this.height,this.scrollHeight,typeof e.scrollTop<"u"?e.scrollTop:this.rawScrollTop)}createScrollEvent(e,t){const i=this.width!==e.width,n=this.scrollWidth!==e.scrollWidth,o=this.scrollLeft!==e.scrollLeft,r=this.height!==e.height,a=this.scrollHeight!==e.scrollHeight,l=this.scrollTop!==e.scrollTop;return{inSmoothScrolling:t,oldWidth:e.width,oldScrollWidth:e.scrollWidth,oldScrollLeft:e.scrollLeft,width:this.width,scrollWidth:this.scrollWidth,scrollLeft:this.scrollLeft,oldHeight:e.height,oldScrollHeight:e.scrollHeight,oldScrollTop:e.scrollTop,height:this.height,scrollHeight:this.scrollHeight,scrollTop:this.scrollTop,widthChanged:i,scrollWidthChanged:n,scrollLeftChanged:o,heightChanged:r,scrollHeightChanged:a,scrollTopChanged:l}}}class u0 extends H{constructor(e){super(),this._scrollableBrand=void 0,this._onScroll=this._register(new B),this.onScroll=this._onScroll.event,this._smoothScrollDuration=e.smoothScrollDuration,this._scheduleAtNextAnimationFrame=e.scheduleAtNextAnimationFrame,this._state=new nD(e.forceIntegerValues,0,0,0,0,0,0),this._smoothScrolling=null}dispose(){this._smoothScrolling&&(this._smoothScrolling.dispose(),this._smoothScrolling=null),super.dispose()}setSmoothScrollDuration(e){this._smoothScrollDuration=e}validateScrollPosition(e){return this._state.withScrollPosition(e)}getScrollDimensions(){return this._state}setScrollDimensions(e,t){var i;const n=this._state.withScrollDimensions(e,t);this._setState(n,!!this._smoothScrolling),(i=this._smoothScrolling)===null||i===void 0||i.acceptScrollDimensions(this._state)}getFutureScrollPosition(){return this._smoothScrolling?this._smoothScrolling.to:this._state}getCurrentScrollPosition(){return this._state}setScrollPositionNow(e){const t=this._state.withScrollPosition(e);this._smoothScrolling&&(this._smoothScrolling.dispose(),this._smoothScrolling=null),this._setState(t,!1)}setScrollPositionSmooth(e,t){if(this._smoothScrollDuration===0)return this.setScrollPositionNow(e);if(this._smoothScrolling){e={scrollLeft:typeof e.scrollLeft>"u"?this._smoothScrolling.to.scrollLeft:e.scrollLeft,scrollTop:typeof e.scrollTop>"u"?this._smoothScrolling.to.scrollTop:e.scrollTop};const i=this._state.withScrollPosition(e);if(this._smoothScrolling.to.scrollLeft===i.scrollLeft&&this._smoothScrolling.to.scrollTop===i.scrollTop)return;let n;t?n=new Qb(this._smoothScrolling.from,i,this._smoothScrolling.startTime,this._smoothScrolling.duration):n=this._smoothScrolling.combine(this._state,i,this._smoothScrollDuration),this._smoothScrolling.dispose(),this._smoothScrolling=n}else{const i=this._state.withScrollPosition(e);this._smoothScrolling=Qb.start(this._state,i,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 e=this._smoothScrolling.tick(),t=this._state.withScrollPosition(e);if(this._setState(t,!0),!!this._smoothScrolling){if(e.isDone){this._smoothScrolling.dispose(),this._smoothScrolling=null;return}this._smoothScrolling.animationFrameDisposable=this._scheduleAtNextAnimationFrame(()=>{this._smoothScrolling&&(this._smoothScrolling.animationFrameDisposable=null,this._performSmoothScrolling())})}}_setState(e,t){const i=this._state;i.equals(e)||(this._state=e,this._onScroll.fire(this._state.createScrollEvent(i,t)))}}class FB{constructor(e,t,i){this.scrollLeft=e,this.scrollTop=t,this.isDone=i}}function cI(s,e){const t=e-s;return function(i){return s+t*kge(i)}}function Lge(s,e,t){return function(i){return i 2.5*i){let o,r;return e 0&&Math.abs(e.deltaY)>0)return 1;let i=.5;if((!this._isAlmostInt(e.deltaX)||!this._isAlmostInt(e.deltaY))&&(i+=.25),t){const n=Math.abs(e.deltaX),o=Math.abs(e.deltaY),r=Math.abs(t.deltaX),a=Math.abs(t.deltaY),l=Math.max(Math.min(n,r),1),d=Math.max(Math.min(o,a),1),c=Math.max(n,r),u=Math.max(o,a);c%l===0&&u%d===0&&(i-=.5)}return Math.min(Math.max(i,0),1)}_isAlmostInt(e){return Math.abs(Math.round(e)-e)<.01}}sD.INSTANCE=new sD;class WF extends fr{get options(){return this._options}constructor(e,t,i){super(),this._onScroll=this._register(new B),this.onScroll=this._onScroll.event,this._onWillScroll=this._register(new B),e.style.overflow="hidden",this._options=Tge(t),this._scrollable=i,this._register(this._scrollable.onScroll(o=>{this._onWillScroll.fire(o),this._onDidScroll(o),this._onScroll.fire(o)}));const n={onMouseWheel:o=>this._onMouseWheel(o),onDragStart:()=>this._onDragStart(),onDragEnd:()=>this._onDragEnd()};this._verticalScrollbar=this._register(new Dge(this._scrollable,this._options,n)),this._horizontalScrollbar=this._register(new Sge(this._scrollable,this._options,n)),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(e),this._domNode.appendChild(this._horizontalScrollbar.domNode.domNode),this._domNode.appendChild(this._verticalScrollbar.domNode.domNode),this._options.useShadows?(this._leftShadowDomNode=It(document.createElement("div")),this._leftShadowDomNode.setClassName("shadow"),this._domNode.appendChild(this._leftShadowDomNode.domNode),this._topShadowDomNode=It(document.createElement("div")),this._topShadowDomNode.setClassName("shadow"),this._domNode.appendChild(this._topShadowDomNode.domNode),this._topLeftShadowDomNode=It(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,o=>this._onMouseOver(o)),this.onmouseleave(this._listenOnDomNode,o=>this._onMouseLeave(o)),this._hideTimeout=this._register(new ya),this._isDragging=!1,this._mouseIsOver=!1,this._shouldRender=!0,this._revealOnScroll=!0}dispose(){this._mouseWheelToDispose=jt(this._mouseWheelToDispose),super.dispose()}getDomNode(){return this._domNode}getOverviewRulerLayoutInfo(){return{parent:this._domNode,insertBefore:this._verticalScrollbar.domNode.domNode}}delegateVerticalScrollbarPointerDown(e){this._verticalScrollbar.delegatePointerDown(e)}getScrollDimensions(){return this._scrollable.getScrollDimensions()}setScrollDimensions(e){this._scrollable.setScrollDimensions(e,!1)}updateClassName(e){this._options.className=e,lt&&(this._options.className+=" mac"),this._domNode.className="monaco-scrollable-element "+this._options.className}updateOptions(e){typeof e.handleMouseWheel<"u"&&(this._options.handleMouseWheel=e.handleMouseWheel,this._setListeningToMouseWheel(this._options.handleMouseWheel)),typeof e.mouseWheelScrollSensitivity<"u"&&(this._options.mouseWheelScrollSensitivity=e.mouseWheelScrollSensitivity),typeof e.fastScrollSensitivity<"u"&&(this._options.fastScrollSensitivity=e.fastScrollSensitivity),typeof e.scrollPredominantAxis<"u"&&(this._options.scrollPredominantAxis=e.scrollPredominantAxis),typeof e.horizontal<"u"&&(this._options.horizontal=e.horizontal),typeof e.vertical<"u"&&(this._options.vertical=e.vertical),typeof e.horizontalScrollbarSize<"u"&&(this._options.horizontalScrollbarSize=e.horizontalScrollbarSize),typeof e.verticalScrollbarSize<"u"&&(this._options.verticalScrollbarSize=e.verticalScrollbarSize),typeof e.scrollByPage<"u"&&(this._options.scrollByPage=e.scrollByPage),this._horizontalScrollbar.updateOptions(this._options),this._verticalScrollbar.updateOptions(this._options),this._options.lazyRender||this._render()}delegateScrollFromMouseWheelEvent(e){this._onMouseWheel(new yf(e))}_setListeningToMouseWheel(e){if(this._mouseWheelToDispose.length>0!==e&&(this._mouseWheelToDispose=jt(this._mouseWheelToDispose),e)){const i=n=>{this._onMouseWheel(new yf(n))};this._mouseWheelToDispose.push(K(this._listenOnDomNode,ee.MOUSE_WHEEL,i,{passive:!1}))}}_onMouseWheel(e){var t;if(!((t=e.browserEvent)===null||t===void 0)&&t.defaultPrevented)return;const i=sD.INSTANCE;i.acceptStandardWheelEvent(e);let n=!1;if(e.deltaY||e.deltaX){let r=e.deltaY*this._options.mouseWheelScrollSensitivity,a=e.deltaX*this._options.mouseWheelScrollSensitivity;this._options.scrollPredominantAxis&&(this._options.scrollYToX&&a+r===0?a=r=0:Math.abs(r)>=Math.abs(a)?a=0:r=0),this._options.flipAxes&&([r,a]=[a,r]);const l=!lt&&e.browserEvent&&e.browserEvent.shiftKey;(this._options.scrollYToX||l)&&!a&&(a=r,r=0),e.browserEvent&&e.browserEvent.altKey&&(a=a*this._options.fastScrollSensitivity,r=r*this._options.fastScrollSensitivity);const d=this._scrollable.getFutureScrollPosition();let c={};if(r){const u=OB*r,h=d.scrollTop-(u<0?Math.floor(u):Math.ceil(u));this._verticalScrollbar.writeScrollPosition(c,h)}if(a){const u=OB*a,h=d.scrollLeft-(u<0?Math.floor(u):Math.ceil(u));this._horizontalScrollbar.writeScrollPosition(c,h)}c=this._scrollable.validateScrollPosition(c),(d.scrollLeft!==c.scrollLeft||d.scrollTop!==c.scrollTop)&&(this._options.mouseWheelSmoothScroll&&i.isPhysicalMouseWheel()?this._scrollable.setScrollPositionSmooth(c):this._scrollable.setScrollPositionNow(c),n=!0)}let o=n;!o&&this._options.alwaysConsumeMouseWheel&&(o=!0),!o&&this._options.consumeMouseWheelIfScrollbarIsNeeded&&(this._verticalScrollbar.isNeeded()||this._horizontalScrollbar.isNeeded())&&(o=!0),o&&(e.preventDefault(),e.stopPropagation())}_onDidScroll(e){this._shouldRender=this._horizontalScrollbar.onDidScroll(e)||this._shouldRender,this._shouldRender=this._verticalScrollbar.onDidScroll(e)||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 e=this._scrollable.getCurrentScrollPosition(),t=e.scrollTop>0,i=e.scrollLeft>0,n=i?" left":"",o=t?" top":"",r=i||t?" top-left-corner":"";this._leftShadowDomNode.setClassName(`shadow${n}`),this._topShadowDomNode.setClassName(`shadow${o}`),this._topLeftShadowDomNode.setClassName(`shadow${r}${o}${n}`)}}_onDragStart(){this._isDragging=!0,this._reveal()}_onDragEnd(){this._isDragging=!1,this._hide()}_onMouseLeave(e){this._mouseIsOver=!1,this._hide()}_onMouseOver(e){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(),Ege)}}class VU extends WF{constructor(e,t){t=t||{},t.mouseWheelSmoothScroll=!1;const i=new u0({forceIntegerValues:!0,smoothScrollDuration:0,scheduleAtNextAnimationFrame:n=>Ao(Te(e),n)});super(e,t,i),this._register(i)}setScrollPosition(e){this._scrollable.setScrollPositionNow(e)}}class Lx extends WF{constructor(e,t,i){super(e,t,i)}setScrollPosition(e){e.reuseAnimation?this._scrollable.setScrollPositionSmooth(e,e.reuseAnimation):this._scrollable.setScrollPositionNow(e)}getScrollPosition(){return this._scrollable.getCurrentScrollPosition()}}class C1 extends WF{constructor(e,t){t=t||{},t.mouseWheelSmoothScroll=!1;const i=new u0({forceIntegerValues:!1,smoothScrollDuration:0,scheduleAtNextAnimationFrame:n=>Ao(Te(e),n)});super(e,t,i),this._register(i),this._element=e,this._register(this.onScroll(n=>{n.scrollTopChanged&&(this._element.scrollTop=n.scrollTop),n.scrollLeftChanged&&(this._element.scrollLeft=n.scrollLeft)})),this.scanDomNode()}setScrollPosition(e){this._scrollable.setScrollPositionNow(e)}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})}}function Tge(s){const e={lazyRender:typeof s.lazyRender<"u"?s.lazyRender:!1,className:typeof s.className<"u"?s.className:"",useShadows:typeof s.useShadows<"u"?s.useShadows:!0,handleMouseWheel:typeof s.handleMouseWheel<"u"?s.handleMouseWheel:!0,flipAxes:typeof s.flipAxes<"u"?s.flipAxes:!1,consumeMouseWheelIfScrollbarIsNeeded:typeof s.consumeMouseWheelIfScrollbarIsNeeded<"u"?s.consumeMouseWheelIfScrollbarIsNeeded:!1,alwaysConsumeMouseWheel:typeof s.alwaysConsumeMouseWheel<"u"?s.alwaysConsumeMouseWheel:!1,scrollYToX:typeof s.scrollYToX<"u"?s.scrollYToX:!1,mouseWheelScrollSensitivity:typeof s.mouseWheelScrollSensitivity<"u"?s.mouseWheelScrollSensitivity:1,fastScrollSensitivity:typeof s.fastScrollSensitivity<"u"?s.fastScrollSensitivity:5,scrollPredominantAxis:typeof s.scrollPredominantAxis<"u"?s.scrollPredominantAxis:!0,mouseWheelSmoothScroll:typeof s.mouseWheelSmoothScroll<"u"?s.mouseWheelSmoothScroll:!0,arrowSize:typeof s.arrowSize<"u"?s.arrowSize:11,listenOnDomNode:typeof s.listenOnDomNode<"u"?s.listenOnDomNode:null,horizontal:typeof s.horizontal<"u"?s.horizontal:1,horizontalScrollbarSize:typeof s.horizontalScrollbarSize<"u"?s.horizontalScrollbarSize:10,horizontalSliderSize:typeof s.horizontalSliderSize<"u"?s.horizontalSliderSize:0,horizontalHasArrows:typeof s.horizontalHasArrows<"u"?s.horizontalHasArrows:!1,vertical:typeof s.vertical<"u"?s.vertical:1,verticalScrollbarSize:typeof s.verticalScrollbarSize<"u"?s.verticalScrollbarSize:10,verticalHasArrows:typeof s.verticalHasArrows<"u"?s.verticalHasArrows:!1,verticalSliderSize:typeof s.verticalSliderSize<"u"?s.verticalSliderSize:0,scrollByPage:typeof s.scrollByPage<"u"?s.scrollByPage:!1};return e.horizontalSliderSize=typeof s.horizontalSliderSize<"u"?s.horizontalSliderSize:e.horizontalScrollbarSize,e.verticalSliderSize=typeof s.verticalSliderSize<"u"?s.verticalSliderSize:e.verticalScrollbarSize,lt&&(e.className+=" mac"),e}class HF extends b1{constructor(e,t,i){super(),this._mouseLeaveMonitor=null,this._context=e,this.viewController=t,this.viewHelper=i,this.mouseTargetFactory=new fs(this._context,i),this._mouseDownOperation=this._register(new Nge(this._context,this.viewController,this.viewHelper,this.mouseTargetFactory,(r,a)=>this._createMouseTarget(r,a),r=>this._getMouseColumn(r))),this.lastMouseLeaveTime=-1,this._height=this._context.configuration.options.get(145).height;const n=new tge(this.viewHelper.viewDomNode);this._register(n.onContextMenu(this.viewHelper.viewDomNode,r=>this._onContextMenu(r,!0))),this._register(n.onMouseMove(this.viewHelper.viewDomNode,r=>{this._onMouseMove(r),this._mouseLeaveMonitor||(this._mouseLeaveMonitor=K(this.viewHelper.viewDomNode.ownerDocument,"mousemove",a=>{this.viewHelper.viewDomNode.contains(a.target)||this._onMouseLeave(new Nh(a,!1,this.viewHelper.viewDomNode))}))})),this._register(n.onMouseUp(this.viewHelper.viewDomNode,r=>this._onMouseUp(r))),this._register(n.onMouseLeave(this.viewHelper.viewDomNode,r=>this._onMouseLeave(r)));let o=0;this._register(n.onPointerDown(this.viewHelper.viewDomNode,(r,a)=>{o=a})),this._register(K(this.viewHelper.viewDomNode,ee.POINTER_UP,r=>{this._mouseDownOperation.onPointerUp()})),this._register(n.onMouseDown(this.viewHelper.viewDomNode,r=>this._onMouseDown(r,o))),this._setupMouseWheelZoomListener(),this._context.addEventHandler(this)}_setupMouseWheelZoomListener(){const e=sD.INSTANCE;let t=0,i=Sr.getZoomLevel(),n=!1,o=0;const r=l=>{if(this.viewController.emitMouseWheel(l),!this._context.configuration.options.get(76))return;const d=new yf(l);if(e.acceptStandardWheelEvent(d),e.isPhysicalMouseWheel()){if(a(l)){const c=Sr.getZoomLevel(),u=d.deltaY>0?1:-1;Sr.setZoomLevel(c+u),d.preventDefault(),d.stopPropagation()}}else Date.now()-t>50&&(i=Sr.getZoomLevel(),n=a(l),o=0),t=Date.now(),o+=d.deltaY,n&&(Sr.setZoomLevel(i+o/5),d.preventDefault(),d.stopPropagation())};this._register(K(this.viewHelper.viewDomNode,ee.MOUSE_WHEEL,r,{capture:!0,passive:!1}));function a(l){return lt?(l.metaKey||l.ctrlKey)&&!l.shiftKey&&!l.altKey:l.ctrlKey&&!l.metaKey&&!l.shiftKey&&!l.altKey}}dispose(){this._context.removeEventHandler(this),this._mouseLeaveMonitor&&(this._mouseLeaveMonitor.dispose(),this._mouseLeaveMonitor=null),super.dispose()}onConfigurationChanged(e){if(e.hasChanged(145)){const t=this._context.configuration.options.get(145).height;this._height!==t&&(this._height=t,this._mouseDownOperation.onHeightChanged())}return!1}onCursorStateChanged(e){return this._mouseDownOperation.onCursorStateChanged(e),!1}onFocusChanged(e){return!1}getTargetAtClientPoint(e,t){const n=new FU(e,t).toPageCoordinates(Te(this.viewHelper.viewDomNode)),o=FF(this.viewHelper.viewDomNode);if(n.y o.y+o.height||n.x o.x+o.width)return null;const r=OF(this.viewHelper.viewDomNode,o,n);return this.mouseTargetFactory.createMouseTarget(this.viewHelper.getLastRenderData(),o,n,r,null)}_createMouseTarget(e,t){let i=e.target;if(!this.viewHelper.viewDomNode.contains(i)){const n=Sf(this.viewHelper.viewDomNode);n&&(i=n.elementsFromPoint(e.posx,e.posy).find(o=>this.viewHelper.viewDomNode.contains(o)))}return this.mouseTargetFactory.createMouseTarget(this.viewHelper.getLastRenderData(),e.editorPos,e.pos,e.relativePos,t?i:null)}_getMouseColumn(e){return this.mouseTargetFactory.getMouseColumn(e.relativePos)}_onContextMenu(e,t){this.viewController.emitContextMenu({event:e,target:this._createMouseTarget(e,t)})}_onMouseMove(e){this.mouseTargetFactory.mouseTargetIsWidget(e)||e.preventDefault(),!(this._mouseDownOperation.isActive()||e.timestamp {e.preventDefault(),this.viewHelper.focusTextArea()};if(c&&(n||r&&a))u(),this._mouseDownOperation.start(i.type,e,t);else if(o)e.preventDefault();else if(l){const h=i.detail;c&&this.viewHelper.shouldSuppressMouseDownOnViewZone(h.viewZoneId)&&(u(),this._mouseDownOperation.start(i.type,e,t),e.preventDefault())}else d&&this.viewHelper.shouldSuppressMouseDownOnWidget(i.detail)&&(u(),e.preventDefault());this.viewController.emitMouseDown({event:e,target:i})}}class Nge extends H{constructor(e,t,i,n,o,r){super(),this._context=e,this._viewController=t,this._viewHelper=i,this._mouseTargetFactory=n,this._createMouseTarget=o,this._getMouseColumn=r,this._mouseMoveMonitor=this._register(new nge(this._viewHelper.viewDomNode)),this._topBottomDragScrolling=this._register(new Age(this._context,this._viewHelper,this._mouseTargetFactory,(a,l,d)=>this._dispatchMouse(a,l,d))),this._mouseState=new xx,this._currentSelection=new we(1,1,1,1),this._isActive=!1,this._lastMouseEvent=null}dispose(){super.dispose()}isActive(){return this._isActive}_onMouseDownThenMove(e){this._lastMouseEvent=e,this._mouseState.setModifiers(e);const t=this._findMousePosition(e,!1);t&&(this._mouseState.isDragAndDrop?this._viewController.emitMouseDrag({event:e,target:t}):t.type===13&&(t.outsidePosition==="above"||t.outsidePosition==="below")?this._topBottomDragScrolling.start(t,e):(this._topBottomDragScrolling.stop(),this._dispatchMouse(t,!0,1)))}start(e,t,i){this._lastMouseEvent=t,this._mouseState.setStartedOnLineNumbers(e===3),this._mouseState.setStartButtons(t),this._mouseState.setModifiers(t);const n=this._findMousePosition(t,!0);if(!n||!n.position)return;this._mouseState.trySetCount(t.detail,n.position),t.detail=this._mouseState.count;const o=this._context.configuration.options;if(!o.get(91)&&o.get(35)&&!o.get(22)&&!this._mouseState.altKey&&t.detail<2&&!this._isActive&&!this._currentSelection.isEmpty()&&n.type===6&&n.position&&this._currentSelection.containsPosition(n.position)){this._mouseState.isDragAndDrop=!0,this._isActive=!0,this._mouseMoveMonitor.startMonitoring(this._viewHelper.viewLinesDomNode,i,t.buttons,r=>this._onMouseDownThenMove(r),r=>{const a=this._findMousePosition(this._lastMouseEvent,!1);Iu(r)?this._viewController.emitMouseDropCanceled():this._viewController.emitMouseDrop({event:this._lastMouseEvent,target:a?this._createMouseTarget(this._lastMouseEvent,!0):null}),this._stop()});return}this._mouseState.isDragAndDrop=!1,this._dispatchMouse(n,t.shiftKey,1),this._isActive||(this._isActive=!0,this._mouseMoveMonitor.startMonitoring(this._viewHelper.viewLinesDomNode,i,t.buttons,r=>this._onMouseDownThenMove(r),()=>this._stop()))}_stop(){this._isActive=!1,this._topBottomDragScrolling.stop()}onHeightChanged(){this._mouseMoveMonitor.stopMonitoring()}onPointerUp(){this._mouseMoveMonitor.stopMonitoring()}onCursorStateChanged(e){this._currentSelection=e.selections[0]}_getPositionOutsideEditor(e){const t=e.editorPos,i=this._context.viewModel,n=this._context.viewLayout,o=this._getMouseColumn(e);if(e.posy