Copy disabled (too large)
Download .txt
Showing preview only (22,301K chars total). Download the full file to get everything.
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
<p align="center">
<img src="./assets/openui.png" width="150" alt="OpenUI" />
</p>
Building UI components can be a slog. OpenUI aims to make the process fun, fast, and flexible. It's also a tool we're using at [W&B](https://wandb.com) to test and prototype our next generation tooling for building powerful applications on top of LLM's.
## Overview

OpenUI let's you describe UI using your imagination, then see it rendered live. You can ask for changes and convert HTML to React, Svelte, Web Components, etc. It's like [v0](https://v0.dev) but open source and not as polished :stuck_out_tongue_closed_eyes:.
## Live Demo
[Try the demo](https://openui.fly.dev)
## Running Locally
OpenUI supports [OpenAI](https://platform.openai.com/api-keys), [Groq](https://console.groq.com/keys), and any model [LiteLLM](https://docs.litellm.ai/docs/) supports such as [Gemini](https://aistudio.google.com/app/apikey) or [Anthropic (Claude)](https://console.anthropic.com/settings/keys). The following environment variables are optional, but need to be set in your environment for alternative models to work:
- **OpenAI** `OPENAI_API_KEY`
- **Groq** `GROQ_API_KEY`
- **Gemini** `GEMINI_API_KEY`
- **Anthropic** `ANTHROPIC_API_KEY`
- **Cohere** `COHERE_API_KEY`
- **Mistral** `MISTRAL_API_KEY`
- **OpenAI Compatible** `OPENAI_COMPATIBLE_ENDPOINT` and `OPENAI_COMPATIBLE_API_KEY`
For example, if you're running a tool like [localai](https://localai.io/) you can set `OPENAI_COMPATIBLE_ENDPOINT` and optionally `OPENAI_COMPATIBLE_API_KEY` to have the models available listed in the UI's model selector under LiteLLM.
### Ollama
You can also use models available to [Ollama](https://ollama.com). [Install Ollama](https://ollama.com/download) and pull a model like [Llava](https://ollama.com/library/llava). If Ollama is not running on http://127.0.0.1:11434, you can set the `OLLAMA_HOST` environment variable to the host and port of your Ollama instance. For example when running in docker you'll need to point to http://host.docker.internal:11434 as shown below.
### Docker (preferred)
The following command would forward the specified API keys from your shell environment and tell Docker to use the Ollama instance running on your machine.
```bash
export ANTHROPIC_API_KEY=xxx
export OPENAI_API_KEY=xxx
docker run --rm --name openui -p 7878:7878 -e OPENAI_API_KEY -e ANTHROPIC_API_KEY -e OLLAMA_HOST=http://host.docker.internal:11434 ghcr.io/wandb/openui
```
Now you can goto [http://localhost:7878](http://localhost:7878) and generate new UI's!
### From Source / Python
Assuming you have git and [uv](https://github.com/astral-sh/uv) installed:
```bash
git clone https://github.com/wandb/openui
cd openui/backend
uv sync --frozen --extra litellm
source .venv/bin/activate
# Set API keys for any LLM's you want to use
export OPENAI_API_KEY=xxx
python -m openui
```
## LiteLLM
[LiteLLM](https://docs.litellm.ai/docs/) can be used to connect to basically any LLM service available. We generate a config automatically based on your environment variables. You can create your own [proxy config](https://litellm.vercel.app/docs/proxy/configs) to override this behavior. We look for a custom config in the following locations:
1. `litellm-config.yaml` in the current directory
2. `/app/litellm-config.yaml` when running in a docker container
3. An arbitrary path specified by the `OPENUI_LITELLM_CONFIG` environment variable
For example to use a custom config in docker you can run:
```bash
docker run -n openui -p 7878:7878 -v $(pwd)/litellm-config.yaml:/app/litellm-config.yaml ghcr.io/wandb/openui
```
To use litellm from source you can run:
```bash
pip install .[litellm]
export ANTHROPIC_API_KEY=xxx
export OPENAI_COMPATIBLE_ENDPOINT=http://localhost:8080/v1
python -m openui --litellm
```
## Groq
To use the super fast [Groq](https://groq.com) models, set `GROQ_API_KEY` to your Groq api key which you can [find here](https://console.groq.com/keys). To use one of the Groq models, click the settings icon in the nav bar.
### Docker Compose
> **DISCLAIMER:** This is likely going to be very slow. If you have a GPU you may need to change the tag of the `ollama` container to one that supports it. If you're running on a Mac, follow the instructions above and run Ollama natively to take advantage of the M1/M2.
From the root directory you can run:
```bash
docker-compose up -d
docker exec -it openui-ollama-1 ollama pull llava
```
If you have your OPENAI_API_KEY set in the environment already, just remove `=xxx` from the `OPENAI_API_KEY` line. You can also replace `llava` in the command above with your open source model of choice *([llava](https://ollama.com/library/llava) is one of the only Ollama models that support images currently)*. You should now be able to access OpenUI at [http://localhost:7878](http://localhost:7878).
*If you make changes to the frontend or backend, you'll need to run `docker-compose build` to have them reflected in the service.*
## Development
A [dev container](https://github.com/wandb/openui/blob/main/.devcontainer/devcontainer.json) is configured in this repository which is the quickest way to get started.
### Codespace
<img src="./assets/codespace.png" alt="New with options..." width="500" />
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.
<img src="./assets/ollama.png" width="500" alt="Select Ollama models" />
### 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
================================================
<html>
<head>
<script src="https://cdn.tailwindcss.com?plugins=forms,typography"></script>
<script src="https://unpkg.com/unlazy@0.11.3/dist/unlazy.with-hashing.iife.js"></script>
<link
rel="stylesheet"
href="https://unpkg.com/@highlightjs/cdn-assets@11.9.0/styles/default.min.css"
/>
<script src="https://unpkg.com/@highlightjs/cdn-assets@11.9.0/highlight.min.js"></script>
<script src="https://unpkg.com/html2canvas@1.4.1/dist/html2canvas.min.js"></script>
<script src="https://unpkg.com/theroomjs@2.1.6/dist/theroom.min.js"></script>
<script type="text/javascript">
window.tailwind.config = {
darkMode: ['class'],
theme: {
extend: {
colors: {
border: 'hsl(var(--border))',
input: 'hsl(var(--input))',
ring: 'hsl(var(--ring))',
background: 'hsl(var(--background))',
foreground: 'hsl(var(--foreground))',
primary: {
DEFAULT: 'hsl(var(--primary))',
foreground: 'hsl(var(--primary-foreground))'
},
secondary: {
DEFAULT: 'hsl(var(--secondary))',
foreground: 'hsl(var(--secondary-foreground))'
},
destructive: {
DEFAULT: 'hsl(var(--destructive))',
foreground: 'hsl(var(--destructive-foreground))'
},
muted: {
DEFAULT: 'hsl(var(--muted))',
foreground: 'hsl(var(--muted-foreground))'
},
accent: {
DEFAULT: 'hsl(var(--accent))',
foreground: 'hsl(var(--accent-foreground))'
},
popover: {
DEFAULT: 'hsl(var(--popover))',
foreground: 'hsl(var(--popover-foreground))'
},
card: {
DEFAULT: 'hsl(var(--card))',
foreground: 'hsl(var(--card-foreground))'
}
},
keyframes: {
blurOut: {
'0%': { filter: 'blur(0px)', opacity: '1' },
'100%': { filter: 'blur(10px)', opacity: '0' }
},
blurIn: {
'0%': { filter: 'blur(10px)', opacity: '0' },
'100%': { filter: 'blur(0px)', opacity: '1' }
}
},
animation: {
blurOut: 'blurOut 0.5s ease-out',
blurIn: 'blurIn 0.5s ease-out'
}
}
}
}
</script>
<style type="text/css">
#loading-icon {
text-align: center;
margin: 0 0;
width: 100%;
}
.selected {
position: absolute;
z-index: 49;
border: 2px dashed hsl(41 99% 64%);
border-radius: 3px;
}
.inspector-element {
position: absolute;
z-index: 100;
pointer-events: none;
border: 1px dashed hsl(283 89% 70%);
box-shadow: 0 0 3px hsl(283 89% 70%);
animation: pulseGlow 1s infinite ease-in-out;
border-radius: 2px;
transition: all 250ms ease-in-out;
background-color: rgba(250, 250, 250, 0.1);
}
#wrapper {
cursor: pointer;
}
.loader {
width: 200px;
margin: auto;
display: flex;
flex-direction: row;
}
.shape-contain {
width: 50px;
margin: 12px;
}
.shape {
width: 50px;
height: 50px;
background-color: #e4e6eb;
border-radius: 2px;
margin: 0 auto;
position: relative;
animation: morph 3s ease-in-out infinite;
}
.shape_1 {
border-radius: 50px;
width: 50px;
}
.shape_2 {
border-radius: 2px 2px 50px 50px;
width: 50px;
animation-delay: -2s;
}
.shape_3 {
border-radius: 2px;
width: 25px;
animation-delay: -1s;
}
@keyframes morph {
0% {
border-radius: 50px;
width: 50px;
}
11.11% {
}
22.22% {
border-radius: 50px;
width: 50px;
}
33.33% {
border-radius: 2px 2px 50px 50px;
width: 50px;
}
44.44% {
}
55.55% {
border-radius: 2px 2px 50px 50px;
width: 50px;
}
66.66% {
border-radius: 2px;
width: 25px;
}
77.77% {
}
88.88% {
border-radius: 2px;
width: 25px;
}
100% {
border-radius: 50px;
width: 50px;
}
}
@keyframes pulseGlow {
0% {
box-shadow: 0 0 3px hsl(283 89% 70%);
}
50% {
box-shadow: 0 0 8px hsl(283 80% 40%);
}
100% {
box-shadow: 0 0 3px hsl(283 89% 70%);
}
}
</style>
<style type="text/tailwindcss">
@layer base {
:root {
--background: 0 0% 100%;
--foreground: 240 10% 3.9%;
--card: 0 0% 100%;
--card-foreground: 240 10% 3.9%;
--popover: 0 0% 100%;
--popover-foreground: 240 10% 3.9%;
--primary: 240 5.9% 10%;
--primary: 186 80% 41%;
--primary-foreground: 0 0% 98%;
--secondary: 240 4.8% 95.9%;
--secondary-foreground: 240 5.9% 10%;
--muted: 240 4.8% 95.9%;
--muted-foreground: 240 3.8% 46.1%;
--accent: 240 4.8% 95.9%;
--accent-foreground: 240 5.9% 10%;
--destructive: 0 84.2% 60.2%;
--destructive-foreground: 0 0% 98%;
--border: 240 5.9% 90%;
--input: 240 5.9% 90%;
--ring: 240 10% 3.9%;
--radius: 0.5rem;
}
.dark {
--background: 240 10% 3.9%;
--foreground: 0 0% 98%;
--card: 240 10% 3.9%;
--card-foreground: 0 0% 98%;
--popover: 240 10% 3.9%;
--popover-foreground: 0 0% 98%;
--primary: 0 0% 98%;
--primary-foreground: 240 5.9% 10%;
--secondary: 240 3.7% 15.9%;
--secondary-foreground: 0 0% 98%;
--muted: 240 3.7% 15.9%;
--muted-foreground: 240 5% 64.9%;
--accent: 240 3.7% 15.9%;
--accent-foreground: 0 0% 98%;
--destructive: 0 62.8% 30.6%;
--destructive-foreground: 0 0% 98%;
--border: 240 3.7% 15.9%;
--input: 240 3.7% 15.9%;
--ring: 240 4.9% 83.9%;
}
}
</style>
</head>
<body
class="no-select items-top flex h-full w-full justify-center bg-background"
>
<div
id="loading-icon"
class="flex h-screen w-screen items-center justify-center"
>
<div class="loader">
<div class="shape-contain">
<div class="shape shape_1"></div>
</div>
<div class="shape-contain">
<div class="shape shape_2"></div>
</div>
<div class="shape-contain">
<div class="shape shape_3"></div>
</div>
</div>
</div>
<div class="no-select animate-blurIn relative hidden w-full" id="wrapper">
${body}
</div>
<div
id="prompt"
class="no-select absolute z-50 origin-top scale-0 transform rounded-md border border-zinc-200 bg-background text-zinc-700 shadow-lg transition-all duration-300 dark:border-zinc-700 dark:text-zinc-300"
>
<div class="p-4 text-xs">
<h3 class="text-base font-semibold">How do you want this to change?</h3>
<input
type="text"
class="mt-2 w-[300px] rounded-md border border-zinc-200 px-4 py-2 text-zinc-600 focus:outline-none focus:ring-2 focus:ring-primary"
/>
<button
class="ml-2 mt-4 rounded-md bg-primary p-2 text-white"
id="submit"
>
Submit
</button>
<button
class="border-black-500 ml-2 mt-4 rounded-md border-2 border-solid p-2"
id="cancel"
>
Cancel
</button>
</div>
</div>
</body>
<script type="text/javascript">
// Setup the room
window.theRoom.configure({
blockRedirection: false,
createInspector: true,
excludes: ['.no-select']
})
function clearInspector() {
const inspector = document.querySelector('.inspector-element')
if (inspector) {
inspector.style.top = '50%'
inspector.style.left = '50%'
inspector.style.width = ''
inspector.style.height = ''
inspector.style.border = 'none'
inspector.style.boxShadow = 'none'
}
}
let inspectorEnabled = false
// State TODO: maybe hydrate this from the parent
let commentIdx = 0
let selectedElements = []
// Reset the inspector every 5 seconds
let interval = null
// TODO: support more
let colors = [
'hsl(186 85% 45%)',
'green',
'orange',
'yellow',
'red',
'purple'
]
let moved = false
document.addEventListener('mousemove', () => (moved = true))
document
.getElementById('wrapper')
.addEventListener('mouseleave', clearInspector)
function reset() {
clearInterval(interval)
interval = setInterval(() => {
if (!moved) {
clearInspector()
} else {
moved = false
}
}, 3000)
}
reset()
// TODO: might not need this if we just refactor the click handler
function reinitInspector(target, inspector) {
var pos = target.getBoundingClientRect()
var scrollTop = window.scrollY || document.documentElement.scrollTop
var scrollLeft = window.scrollX || document.documentElement.scrollLeft
var width = pos.width + 8
var height = pos.height + 8
var top = Math.max(-4, pos.top + scrollTop - 4)
var left = Math.max(-4, pos.left + scrollLeft - 4)
inspector.style.top = top + 'px'
inspector.style.left = left + 'px'
inspector.style.width = width + 'px'
inspector.style.height = height + 'px'
}
// Reset state on escape, submit on enter
document.addEventListener('keydown', e => {
if (e.key === 'Escape') {
clearInspector()
let p = document.getElementById('prompt')
if (p.classList.contains('scale-100')) {
p.querySelector('input').value = ''
let idx = p.dataset.commentIdx
document
.querySelectorAll('.selected-' + idx + ', .fix-legend-' + idx)
.forEach(selected => {
selected.parentNode.removeChild(selected)
})
p.classList.remove('scale-100')
if (inspectorEnabled) {
window.theRoom.start()
}
}
} else if (e.key === 'Enter') {
let sub = document.getElementById('prompt').querySelector('#submit')
sub.click()
}
})
window.addEventListener('resize', () => {
document.querySelectorAll('.selected').forEach(selected => {
let selIdx = parseInt(selected.dataset.commentIdx)
let el = selectedElements[selIdx]
reinitInspector(el, selected)
let fix = document.querySelector(`.fix-legend-${selIdx + 1}`)
fix.style.top = Math.max(3, parseFloat(selected.style.top) - 10) + 'px'
fix.style.left = parseFloat(selected.style.left) + 5 + 'px'
})
})
window.theRoom.on('mouseover', function () {
const inspector = document.querySelector('.inspector-element')
if (inspector) {
inspector.style.border = ''
inspector.style.boxShadow = ''
}
})
window.theRoom.on('click', function (element, event) {
event.preventDefault()
event.stopPropagation()
clearInterval(interval)
// TODO: reinit inspector here if it's gone
let inspector = document.querySelector('.inspector-element')
if (inspector.style.border === 'none') {
reinitInspector(element, inspector)
}
let selected = inspector.cloneNode()
let color = colors[commentIdx]
selected.classList.add('selected')
selected.classList.add('no-select')
selected.classList.add('selected-' + commentIdx)
selected.classList.remove('inspector-element')
selected.dataset.commentIdx = commentIdx
selected.style.borderColor = color
if (element.parentNode.id === 'wrapper') {
// TODO: think about this one more
selected.style.zIndex = -1
}
let prompt = document.getElementById('prompt')
prompt.dataset.commentIdx = commentIdx
prompt.classList.add('scale-100')
prompt.style.top = event.clientY + 'px'
prompt.style.left = '50%' // event.clientX + 'px'
prompt.style.marginLeft = `-200px`
let input = prompt.querySelector('input')
input.focus()
prompt.querySelector('#submit').addEventListener('click', () => {
if (!input.value) {
input.focus()
return
}
addComment(input.value)
input.value = ''
prompt.classList.remove('scale-100')
})
prompt.querySelector('#cancel').addEventListener('click', () => {
input.value = ''
prompt.classList.remove('scale-100')
clearInspector()
setTimeout(() => {
if (inspectorEnabled) {
window.theRoom.start()
}
reset()
}, 500)
document
.querySelectorAll(
'.selected-' + commentIdx + ', .fix-legend-' + commentIdx
)
.forEach(selected => {
selected.parentNode.removeChild(selected)
})
})
// TODO: make it clear "esc" cancels
document.body.append(selected)
let fix = document.createElement('div')
fix.innerText = element.tagName
fix.addEventListener('mouseenter', () => {
const cmt = document.createElement('div')
cmt.innerText = text
cmt.className =
'p-2 rounded bg-white text-purple-500 italic absolute opacity-95 fix-comment'
cmt.style.top = Math.max(3, parseFloat(selected.style.top)) + 'px'
cmt.style.left = parseFloat(selected.style.left) + 'px'
cmt.style.zIndex = 50
document.body.append(cmt)
})
fix.addEventListener('mouseleave', () => {
const cmt = document.querySelector('.fix-comment')
if (cmt) {
cmt.parentNode.removeChild(cmt)
}
})
fix.className = `no-select fix fix-legend-${commentIdx} italic text-white text-center font-mono text-[8px] px-2 pt-0 z-50`
// TODO: use tailwind
fix.style.border = '1px dashed ' + color
fix.style.position = 'absolute'
fix.style.height = '12px'
fix.style.top = Math.max(3, parseFloat(selected.style.top) - 10) + 'px'
fix.style.left = parseFloat(selected.style.left) + 5 + 'px'
document.body.append(fix)
window.theRoom.stop()
function addComment(text) {
//let text = prompt('What would you like to fix about this?')
if (text) {
commentIdx += 1
let c = document.createComment('FIX (' + commentIdx + '): ' + text)
element.parentNode.insertBefore(c, element)
window.parent.parent.postMessage(
{
comment: text,
idx: commentIdx,
html: document.getElementById('wrapper').innerHTML
},
'*'
)
} else {
return
}
selectedElements.push(element)
clearInspector()
setTimeout(() => {
reset()
}, 500)
inspectorEnabled = false
}
})
var args = document.location.search.split('=')
var id = args[args.length - 1]
window.addEventListener('load', () => {
window.parent.parent.postMessage({ action: 'ready', id }, '*')
})
window._go = function (cb) {
if (document.readyState === 'complete') {
cb()
} else {
document.addEventListener('DOMContentLoaded', cb)
}
}
// Clear our initial blurIn animation
setTimeout(() => {
document.getElementById('wrapper').classList.add('animate-blurIn')
}, 500)
// handle events from parent
window.addEventListener(
'message',
function (event) {
if (event.data.action === 'take-screenshot') {
document.body.style.width = '1024px'
document.body.style.height = '768px'
html2canvas(document.body, {
useCors: true,
foreignObjectRendering: true,
allowTaint: true,
windowWidth: 1024,
windowHeight: 768
}).then(function (canvas) {
document.body.style.width = ''
document.body.style.width = ''
const data = canvas.toDataURL('image/png')
window.parent.parent.postMessage(
{ screenshot: data, action: 'screenshot', id },
'*'
)
})
} else if (event.data.action === 'reset') {
if (inspectorEnabled) {
window.theRoom.stop()
}
let wrapper = document.getElementById('wrapper')
wrapper.classList.add('animate-blurOut')
setTimeout(() => {
wrapper.classList.remove('animate-blurOut')
wrapper.classList.add('hidden')
wrapper.innerHTML = ''
document.getElementById('loading-icon').classList.remove('hidden')
}, 500)
} else if (event.data.action === 'theme') {
let vars
if (document.documentElement.classList.contains('dark')) {
vars = event.data.theme.cssVars.dark
} else {
vars = event.data.theme.cssVars.light
}
for (const [k, v] of Object.entries(vars)) {
document.documentElement.style.setProperty(`--${k}`, v)
}
} else if (event.data.action === 'hydrate') {
// Always disable the inspector on hydration
if (inspectorEnabled) {
window.theRoom.stop()
}
if (event.data.id && event.data.id !== id) {
return
}
document.getElementById('loading-icon').classList.add('hidden')
let wrapper = document.getElementById('wrapper')
wrapper.innerHTML = event.data.html
wrapper.classList.remove('hidden')
// highlight any codeblocks
hljs.highlightAll()
if (!event.data.rendering) {
wrapper.classList.add('animate-blurIn')
setTimeout(() => {
wrapper.classList.remove('animate-blurIn')
}, 500)
wrapper.querySelectorAll('img').forEach(img => {
img.crossOrigin = 'anonymous'
})
// Load our pretty images with the fancy unlazy loader!
UnLazy.lazyLoad()
}
if (event.data.darkMode) {
document.documentElement.classList.add('dark')
} else {
document.documentElement.classList.remove('dark')
}
document.querySelectorAll('.user-script').forEach(scr => {
scr.parentNode.removeChild(scr)
})
// Only inject scripts if we're not rendering
if (!event.data.rendering) {
event.data.js.forEach(js => {
const script = document.createElement('script')
script.classList.add('user-script')
script.type = js.type
if (js.src) script.setAttribute('src', js.src)
// Close our JS to avoid conflicts
script.text = `(()=>{${js.text}})()`
document.body.append(script)
})
}
// Remove our selected elements
selectedElements = []
commentIdx = 0
var elements = document.querySelectorAll('.selected, .fix')
elements.forEach(function (element) {
element.parentNode.removeChild(element)
})
// TODO: maybe delay this a bit
window.parent.parent.postMessage(
{
preview: wrapper.hasChildNodes(),
height: document.body.scrollHeight,
action: 'loaded',
id: id
},
'*'
)
// state = event.data.state
} else if (event.data.action === 'toggle-dark-mode') {
if (event.data.id && event.data.id !== id) {
return
}
const isDark = document.documentElement.classList.contains('dark')
const newModeDark =
event.data.mode === 'dark' ||
(!isDark && event.data.mode !== 'light')
if (newModeDark) {
document.documentElement.classList.add('dark')
} else {
document.documentElement.classList.remove('dark')
}
} else if (event.data.action === 'toggle-inspector') {
if (inspectorEnabled) {
window.theRoom.stop()
} else {
window.theRoom.start()
}
inspectorEnabled = !inspectorEnabled
}
},
false
)
</script>
</html>
================================================
FILE: backend/openui/dist/assets/CodeEditor-B1zwGt1y.css
================================================
.monaco-editor{font-family:-apple-system,BlinkMacSystemFont,Segoe WPC,Segoe UI,HelveticaNeue-Light,system-ui,Ubuntu,Droid Sans,sans-serif;--monaco-monospace-font: "SF Mono", Monaco, Menlo, Consolas, "Ubuntu Mono", "Liberation Mono", "DejaVu Sans Mono", "Courier New", monospace}.monaco-menu .monaco-action-bar.vertical .action-item .action-menu-item:focus .action-label{stroke-width:1.2px}.monaco-editor.vs-dark .monaco-menu .monaco-action-bar.vertical .action-menu-item:focus .action-label,.monaco-editor.hc-black .monaco-menu .monaco-action-bar.vertical .action-menu-item:focus .action-label,.monaco-editor.hc-light .monaco-menu .monaco-action-bar.vertical .action-menu-item:focus .action-label{stroke-width:1.2px}.monaco-hover p{margin:0}.monaco-aria-container{position:absolute!important;top:0;height:1px;width:1px;margin:-1px;overflow:hidden;padding:0;clip:rect(1px,1px,1px,1px);-webkit-clip-path:inset(50%);clip-path:inset(50%)}.monaco-editor,.monaco-diff-editor .synthetic-focus,.monaco-diff-editor [tabindex="0"]:focus,.monaco-diff-editor [tabindex="-1"]:focus,.monaco-diff-editor button:focus,.monaco-diff-editor input[type=button]:focus,.monaco-diff-editor input[type=checkbox]:focus,.monaco-diff-editor input[type=search]:focus,.monaco-diff-editor input[type=text]:focus,.monaco-diff-editor select:focus,.monaco-diff-editor textarea:focus{outline-width:1px;outline-style:solid;outline-offset:-1px;outline-color:var(--vscode-focusBorder);opacity:1}.monaco-aria-container{position:absolute;left:-999em}::-ms-clear{display:none}.monaco-editor .editor-widget input{color:inherit}.monaco-editor{position:relative;overflow:visible;-webkit-text-size-adjust:100%;color:var(--vscode-editor-foreground);background-color:var(--vscode-editor-background)}.monaco-editor-background{background-color:var(--vscode-editor-background)}.monaco-editor .rangeHighlight{background-color:var(--vscode-editor-rangeHighlightBackground);box-sizing:border-box;border:1px solid var(--vscode-editor-rangeHighlightBorder)}.monaco-editor.hc-black .rangeHighlight,.monaco-editor.hc-light .rangeHighlight{border-style:dotted}.monaco-editor .symbolHighlight{background-color:var(--vscode-editor-symbolHighlightBackground);box-sizing:border-box;border:1px solid var(--vscode-editor-symbolHighlightBorder)}.monaco-editor.hc-black .symbolHighlight,.monaco-editor.hc-light .symbolHighlight{border-style:dotted}.monaco-editor .overflow-guard{position:relative;overflow:hidden}.monaco-editor .view-overlays{position:absolute;top:0}.monaco-editor .view-overlays>div,.monaco-editor .margin-view-overlays>div{position:absolute;width:100%}.monaco-editor .squiggly-error{border-bottom:4px double var(--vscode-editorError-border)}.monaco-editor .squiggly-error:before{display:block;content:"";width:100%;height:100%;background:var(--vscode-editorError-background)}.monaco-editor .squiggly-warning{border-bottom:4px double var(--vscode-editorWarning-border)}.monaco-editor .squiggly-warning:before{display:block;content:"";width:100%;height:100%;background:var(--vscode-editorWarning-background)}.monaco-editor .squiggly-info{border-bottom:4px double var(--vscode-editorInfo-border)}.monaco-editor .squiggly-info:before{display:block;content:"";width:100%;height:100%;background:var(--vscode-editorInfo-background)}.monaco-editor .squiggly-hint{border-bottom:2px dotted var(--vscode-editorHint-border)}.monaco-editor.showUnused .squiggly-unnecessary{border-bottom:2px dashed var(--vscode-editorUnnecessaryCode-border)}.monaco-editor.showDeprecated .squiggly-inline-deprecated{text-decoration:line-through;-webkit-text-decoration-color:var(--vscode-editor-foreground, inherit);text-decoration-color:var(--vscode-editor-foreground, inherit)}.monaco-scrollable-element>.scrollbar>.scra{cursor:pointer;font-size:11px!important}.monaco-scrollable-element>.visible{opacity:1;background:#0000;transition:opacity .1s linear;z-index:11}.monaco-scrollable-element>.invisible{opacity:0;pointer-events:none}.monaco-scrollable-element>.invisible.fade{transition:opacity .8s linear}.monaco-scrollable-element>.shadow{position:absolute;display:none}.monaco-scrollable-element>.shadow.top{display:block;top:0;left:3px;height:3px;width:100%;box-shadow:var(--vscode-scrollbar-shadow) 0 6px 6px -6px inset}.monaco-scrollable-element>.shadow.left{display:block;top:3px;left:0;height:100%;width:3px;box-shadow:var(--vscode-scrollbar-shadow) 6px 0 6px -6px inset}.monaco-scrollable-element>.shadow.top-left-corner{display:block;top:0;left:0;height:3px;width:3px}.monaco-scrollable-element>.shadow.top.left{box-shadow:var(--vscode-scrollbar-shadow) 6px 0 6px -6px inset}.monaco-scrollable-element>.scrollbar>.slider{background:var(--vscode-scrollbarSlider-background)}.monaco-scrollable-element>.scrollbar>.slider:hover{background:var(--vscode-scrollbarSlider-hoverBackground)}.monaco-scrollable-element>.scrollbar>.slider.active{background:var(--vscode-scrollbarSlider-activeBackground)}.monaco-editor .inputarea{min-width:0;min-height:0;margin:0;padding:0;position:absolute;outline:none!important;resize:none;border:none;overflow:hidden;color:transparent;background-color:transparent;z-index:-10}.monaco-editor .inputarea.ime-input{z-index:10;caret-color:var(--vscode-editorCursor-foreground);color:var(--vscode-editor-foreground)}.monaco-editor .margin-view-overlays .line-numbers{bottom:0;font-variant-numeric:tabular-nums;position:absolute;text-align:right;display:inline-block;vertical-align:middle;box-sizing:border-box;cursor:default}.monaco-editor .relative-current-line-number{text-align:left;display:inline-block;width:100%}.monaco-editor .margin-view-overlays .line-numbers.lh-odd{margin-top:1px}.monaco-editor .line-numbers{color:var(--vscode-editorLineNumber-foreground)}.monaco-editor .line-numbers.active-line-number{color:var(--vscode-editorLineNumber-activeForeground)}.monaco-editor .margin{background-color:var(--vscode-editorGutter-background)}.monaco-mouse-cursor-text{cursor:text}.monaco-editor .blockDecorations-container{position:absolute;top:0;pointer-events:none}.monaco-editor .blockDecorations-block{position:absolute;box-sizing:border-box}.monaco-editor .view-overlays .current-line,.monaco-editor .margin-view-overlays .current-line{display:block;position:absolute;left:0;top:0;box-sizing:border-box;height:100%}.monaco-editor .margin-view-overlays .current-line.current-line-margin.current-line-margin-both{border-right:0}.monaco-editor .lines-content .cdr{position:absolute;height:100%}.monaco-editor .glyph-margin{position:absolute;top:0}.monaco-editor .glyph-margin-widgets .cgmr{position:absolute;display:flex;align-items:center;justify-content:center}.monaco-editor .glyph-margin-widgets .cgmr.codicon-modifier-spin:before{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.monaco-editor .lines-content .core-guide{position:absolute;box-sizing:border-box;height:100%}.mtkcontrol{color:#fff!important;background:#960000!important}.mtkoverflow{background-color:var(--vscode-button-background, var(--vscode-editor-background));color:var(--vscode-button-foreground, var(--vscode-editor-foreground));border-width:1px;border-style:solid;border-color:var(--vscode-contrastBorder);border-radius:2px;padding:4px;cursor:pointer}.mtkoverflow:hover{background-color:var(--vscode-button-hoverBackground)}.monaco-editor.no-user-select .lines-content,.monaco-editor.no-user-select .view-line,.monaco-editor.no-user-select .view-lines{-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-select:none}.monaco-editor.mac .lines-content:hover,.monaco-editor.mac .view-line:hover,.monaco-editor.mac .view-lines:hover{-moz-user-select:text;user-select:text;-webkit-user-select:text;-ms-user-select:text}.monaco-editor.enable-user-select{-moz-user-select:initial;-ms-user-select:initial;user-select:initial;-webkit-user-select:initial}.monaco-editor .view-lines{white-space:nowrap}.monaco-editor .view-line{position:absolute;width:100%}.monaco-editor .lines-content>.view-lines>.view-line>span{top:0;bottom:0;position:absolute}.monaco-editor .mtkw{color:var(--vscode-editorWhitespace-foreground)!important}.monaco-editor .mtkz{display:inline-block;color:var(--vscode-editorWhitespace-foreground)!important}.monaco-editor .lines-decorations{position:absolute;top:0;background:#fff}.monaco-editor .margin-view-overlays .cldr{position:absolute;height:100%}.monaco-editor .margin-view-overlays .cmdr{position:absolute;left:0;width:100%;height:100%}.monaco-editor .minimap.slider-mouseover .minimap-slider{opacity:0;transition:opacity .1s linear}.monaco-editor .minimap.slider-mouseover:hover .minimap-slider,.monaco-editor .minimap.slider-mouseover .minimap-slider.active{opacity:1}.monaco-editor .minimap-slider .minimap-slider-horizontal{background:var(--vscode-minimapSlider-background)}.monaco-editor .minimap-slider:hover .minimap-slider-horizontal{background:var(--vscode-minimapSlider-hoverBackground)}.monaco-editor .minimap-slider.active .minimap-slider-horizontal{background:var(--vscode-minimapSlider-activeBackground)}.monaco-editor .minimap-shadow-visible{box-shadow:var(--vscode-scrollbar-shadow) -6px 0 6px -6px inset}.monaco-editor .minimap-shadow-hidden{position:absolute;width:0}.monaco-editor .minimap-shadow-visible{position:absolute;left:-6px;width:6px}.monaco-editor.no-minimap-shadow .minimap-shadow-visible{position:absolute;left:-1px;width:1px}.minimap.autohide{opacity:0;transition:opacity .5s}.minimap.autohide:hover{opacity:1}.monaco-editor .minimap{z-index:5}.monaco-editor .overlayWidgets{position:absolute;top:0;left:0}.monaco-editor .view-ruler{position:absolute;top:0;box-shadow:1px 0 0 0 var(--vscode-editorRuler-foreground) inset}.monaco-editor .scroll-decoration{position:absolute;top:0;left:0;height:6px;box-shadow:var(--vscode-scrollbar-shadow) 0 6px 6px -6px inset}.monaco-editor .lines-content .cslr{position:absolute}.monaco-editor .focused .selected-text{background-color:var(--vscode-editor-selectionBackground)}.monaco-editor .selected-text{background-color:var(--vscode-editor-inactiveSelectionBackground)}.monaco-editor .top-left-radius{border-top-left-radius:3px}.monaco-editor .bottom-left-radius{border-bottom-left-radius:3px}.monaco-editor .top-right-radius{border-top-right-radius:3px}.monaco-editor .bottom-right-radius{border-bottom-right-radius:3px}.monaco-editor.hc-black .top-left-radius{border-top-left-radius:0}.monaco-editor.hc-black .bottom-left-radius{border-bottom-left-radius:0}.monaco-editor.hc-black .top-right-radius{border-top-right-radius:0}.monaco-editor.hc-black .bottom-right-radius{border-bottom-right-radius:0}.monaco-editor.hc-light .top-left-radius{border-top-left-radius:0}.monaco-editor.hc-light .bottom-left-radius{border-bottom-left-radius:0}.monaco-editor.hc-light .top-right-radius{border-top-right-radius:0}.monaco-editor.hc-light .bottom-right-radius{border-bottom-right-radius:0}.monaco-editor .cursors-layer{position:absolute;top:0}.monaco-editor .cursors-layer>.cursor{position:absolute;overflow:hidden;box-sizing:border-box}.monaco-editor .cursors-layer.cursor-smooth-caret-animation>.cursor{transition:all 80ms}.monaco-editor .cursors-layer.cursor-block-outline-style>.cursor{background:transparent!important;border-style:solid;border-width:1px}.monaco-editor .cursors-layer.cursor-underline-style>.cursor{border-bottom-width:2px;border-bottom-style:solid;background:transparent!important}.monaco-editor .cursors-layer.cursor-underline-thin-style>.cursor{border-bottom-width:1px;border-bottom-style:solid;background:transparent!important}@keyframes monaco-cursor-smooth{0%,20%{opacity:1}60%,to{opacity:0}}@keyframes monaco-cursor-phase{0%,20%{opacity:1}90%,to{opacity:0}}@keyframes monaco-cursor-expand{0%,20%{transform:scaleY(1)}80%,to{transform:scaleY(0)}}.cursor-smooth{animation:monaco-cursor-smooth .5s ease-in-out 0s 20 alternate}.cursor-phase{animation:monaco-cursor-phase .5s ease-in-out 0s 20 alternate}.cursor-expand>.cursor{animation:monaco-cursor-expand .5s ease-in-out 0s 20 alternate}.monaco-editor .mwh{position:absolute;color:var(--vscode-editorWhitespace-foreground)!important}.monaco-workbench .workbench-hover{position:relative;font-size:13px;line-height:19px;z-index:40;overflow:hidden;max-width:700px;background:var(--vscode-editorHoverWidget-background);border:1px solid var(--vscode-editorHoverWidget-border);border-radius:3px;color:var(--vscode-editorHoverWidget-foreground);box-shadow:0 2px 8px var(--vscode-widget-shadow)}.monaco-workbench .workbench-hover hr{border-bottom:none}.monaco-workbench .workbench-hover:not(.skip-fade-in){animation:fadein .1s linear}.monaco-workbench .workbench-hover.compact{font-size:12px}.monaco-workbench .workbench-hover.compact .hover-contents{padding:2px 8px}.monaco-workbench .workbench-hover-container.locked .workbench-hover{outline:1px solid var(--vscode-editorHoverWidget-border)}.monaco-workbench .workbench-hover-container.locked .workbench-hover:focus,.monaco-workbench .workbench-hover-lock:focus{outline:1px solid var(--vscode-focusBorder)}.monaco-workbench .workbench-hover-container.locked .workbench-hover-lock:hover{background:var(--vscode-toolbar-hoverBackground)}.monaco-workbench .workbench-hover-pointer{position:absolute;z-index:41;pointer-events:none}.monaco-workbench .workbench-hover-pointer:after{content:"";position:absolute;width:5px;height:5px;background-color:var(--vscode-editorHoverWidget-background);border-right:1px solid var(--vscode-editorHoverWidget-border);border-bottom:1px solid var(--vscode-editorHoverWidget-border)}.monaco-workbench .locked .workbench-hover-pointer:after{width:4px;height:4px;border-right-width:2px;border-bottom-width:2px}.monaco-workbench .workbench-hover-pointer.left{left:-3px}.monaco-workbench .workbench-hover-pointer.right{right:3px}.monaco-workbench .workbench-hover-pointer.top{top:-3px}.monaco-workbench .workbench-hover-pointer.bottom{bottom:3px}.monaco-workbench .workbench-hover-pointer.left:after{transform:rotate(135deg)}.monaco-workbench .workbench-hover-pointer.right:after{transform:rotate(315deg)}.monaco-workbench .workbench-hover-pointer.top:after{transform:rotate(225deg)}.monaco-workbench .workbench-hover-pointer.bottom:after{transform:rotate(45deg)}.monaco-workbench .workbench-hover a{color:var(--vscode-textLink-foreground)}.monaco-workbench .workbench-hover a:focus{outline:1px solid;outline-offset:-1px;text-decoration:underline;outline-color:var(--vscode-focusBorder)}.monaco-workbench .workbench-hover a:hover,.monaco-workbench .workbench-hover a:active{color:var(--vscode-textLink-activeForeground)}.monaco-workbench .workbench-hover code{background:var(--vscode-textCodeBlock-background)}.monaco-workbench .workbench-hover .hover-row .actions{background:var(--vscode-editorHoverWidget-statusBarBackground)}.monaco-workbench .workbench-hover.right-aligned{left:1px}.monaco-workbench .workbench-hover.right-aligned .hover-row.status-bar .actions{flex-direction:row-reverse}.monaco-workbench .workbench-hover.right-aligned .hover-row.status-bar .actions .action-container{margin-right:0;margin-left:16px}.monaco-hover{cursor:default;position:absolute;overflow:hidden;-moz-user-select:text;-ms-user-select:text;user-select:text;-webkit-user-select:text;box-sizing:border-box;animation:fadein .1s linear;line-height:1.5em;white-space:var(--vscode-hover-whiteSpace, normal)}.monaco-hover.hidden{display:none}.monaco-hover a:hover:not(.disabled){cursor:pointer}.monaco-hover .hover-contents:not(.html-hover-contents){padding:4px 8px}.monaco-hover .markdown-hover>.hover-contents:not(.code-hover-contents){max-width:var(--vscode-hover-maxWidth, 500px);word-wrap:break-word}.monaco-hover .markdown-hover>.hover-contents:not(.code-hover-contents) hr{min-width:100%}.monaco-hover p,.monaco-hover .code,.monaco-hover ul,.monaco-hover h1,.monaco-hover h2,.monaco-hover h3,.monaco-hover h4,.monaco-hover h5,.monaco-hover h6{margin:8px 0}.monaco-hover h1,.monaco-hover h2,.monaco-hover h3,.monaco-hover h4,.monaco-hover h5,.monaco-hover h6{line-height:1.1}.monaco-hover code{font-family:var(--monaco-monospace-font)}.monaco-hover hr{box-sizing:border-box;border-left:0px;border-right:0px;margin:4px -8px -4px;height:1px}.monaco-hover p:first-child,.monaco-hover .code:first-child,.monaco-hover ul:first-child{margin-top:0}.monaco-hover p:last-child,.monaco-hover .code:last-child,.monaco-hover ul:last-child{margin-bottom:0}.monaco-hover ul,.monaco-hover ol{padding-left:20px}.monaco-hover li>p{margin-bottom:0}.monaco-hover li>ul{margin-top:0}.monaco-hover code{border-radius:3px;padding:0 .4em}.monaco-hover .monaco-tokenized-source{white-space:var(--vscode-hover-sourceWhiteSpace, pre-wrap)}.monaco-hover .hover-row.status-bar{font-size:12px;line-height:22px}.monaco-hover .hover-row.status-bar .info{font-style:italic;padding:0 8px}.monaco-hover .hover-row.status-bar .actions{display:flex;padding:0 8px;width:100%}.monaco-hover .hover-row.status-bar .actions .action-container{margin-right:16px;cursor:pointer}.monaco-hover .hover-row.status-bar .actions .action-container .action .icon{padding-right:4px}.monaco-hover .markdown-hover .hover-contents .codicon{color:inherit;font-size:inherit;vertical-align:middle}.monaco-hover .hover-contents a.code-link:hover,.monaco-hover .hover-contents a.code-link{color:inherit}.monaco-hover .hover-contents a.code-link:before{content:"("}.monaco-hover .hover-contents a.code-link:after{content:")"}.monaco-hover .hover-contents a.code-link>span{text-decoration:underline;border-bottom:1px solid transparent;text-underline-position:under;color:var(--vscode-textLink-foreground)}.monaco-hover .hover-contents a.code-link>span:hover{color:var(--vscode-textLink-activeForeground)}.monaco-hover .markdown-hover .hover-contents:not(.code-hover-contents):not(.html-hover-contents) span{margin-bottom:4px;display:inline-block}.monaco-hover-content{padding-right:2px;padding-bottom:2px;box-sizing:border-box}.monaco-hover-content .action-container a{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.monaco-hover-content .action-container.disabled{pointer-events:none;opacity:.4;cursor:default}.monaco-editor .rendered-markdown kbd{background-color:var(--vscode-keybindingLabel-background);color:var(--vscode-keybindingLabel-foreground);border-style:solid;border-width:1px;border-radius:3px;border-color:var(--vscode-keybindingLabel-border);border-bottom-color:var(--vscode-keybindingLabel-bottomBorder);box-shadow:inset 0 -1px 0 var(--vscode-widget-shadow);vertical-align:middle;padding:1px 3px}.rendered-markdown li:has(input[type=checkbox]){list-style-type:none}.context-view{position:absolute}.context-view.fixed{all:initial;font-family:inherit;font-size:13px;position:fixed;color:inherit}.monaco-list{position:relative;height:100%;width:100%;white-space:nowrap}.monaco-list.mouse-support{-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-select:none}.monaco-list>.monaco-scrollable-element{height:100%}.monaco-list-rows{position:relative;width:100%;height:100%}.monaco-list.horizontal-scrolling .monaco-list-rows{width:auto;min-width:100%}.monaco-list-row{position:absolute;box-sizing:border-box;overflow:hidden;width:100%}.monaco-list.mouse-support .monaco-list-row{cursor:pointer;touch-action:none}.monaco-list .monaco-scrollable-element>.scrollbar.vertical,.monaco-pane-view>.monaco-split-view2.vertical>.monaco-scrollable-element>.scrollbar.vertical{z-index:14}.monaco-list-row.scrolling{display:none!important}.monaco-list.element-focused,.monaco-list.selection-single,.monaco-list.selection-multiple{outline:0!important}.monaco-drag-image{display:inline-block;padding:1px 7px;border-radius:10px;font-size:12px;position:absolute;z-index:1000}.monaco-list-type-filter-message{position:absolute;box-sizing:border-box;width:100%;height:100%;top:0;left:0;padding:40px 1em 1em;text-align:center;white-space:normal;opacity:.7;pointer-events:none}.monaco-list-type-filter-message:empty{display:none}.monaco-select-box-dropdown-padding{--dropdown-padding-top: 1px;--dropdown-padding-bottom: 1px}.hc-black .monaco-select-box-dropdown-padding,.hc-light .monaco-select-box-dropdown-padding{--dropdown-padding-top: 3px;--dropdown-padding-bottom: 4px}.monaco-select-box-dropdown-container{display:none;box-sizing:border-box}.monaco-select-box-dropdown-container>.select-box-details-pane>.select-box-description-markdown *{margin:0}.monaco-select-box-dropdown-container>.select-box-details-pane>.select-box-description-markdown a:focus{outline:1px solid -webkit-focus-ring-color;outline-offset:-1px}.monaco-select-box-dropdown-container>.select-box-details-pane>.select-box-description-markdown code{line-height:15px;font-family:var(--monaco-monospace-font)}.monaco-select-box-dropdown-container.visible{display:flex;flex-direction:column;text-align:left;width:1px;overflow:hidden;border-bottom-left-radius:3px;border-bottom-right-radius:3px}.monaco-select-box-dropdown-container>.select-box-dropdown-list-container{flex:0 0 auto;align-self:flex-start;padding-top:var(--dropdown-padding-top);padding-bottom:var(--dropdown-padding-bottom);padding-left:1px;padding-right:1px;width:100%;overflow:hidden;box-sizing:border-box}.monaco-select-box-dropdown-container>.select-box-details-pane{padding:5px}.hc-black .monaco-select-box-dropdown-container>.select-box-dropdown-list-container{padding-top:var(--dropdown-padding-top);padding-bottom:var(--dropdown-padding-bottom)}.monaco-select-box-dropdown-container>.select-box-dropdown-list-container .monaco-list .monaco-list-row{cursor:pointer}.monaco-select-box-dropdown-container>.select-box-dropdown-list-container .monaco-list .monaco-list-row>.option-text{text-overflow:ellipsis;overflow:hidden;padding-left:3.5px;white-space:nowrap;float:left}.monaco-select-box-dropdown-container>.select-box-dropdown-list-container .monaco-list .monaco-list-row>.option-detail{text-overflow:ellipsis;overflow:hidden;padding-left:3.5px;white-space:nowrap;float:left;opacity:.7}.monaco-select-box-dropdown-container>.select-box-dropdown-list-container .monaco-list .monaco-list-row>.option-decorator-right{text-overflow:ellipsis;overflow:hidden;padding-right:10px;white-space:nowrap;float:right}.monaco-select-box-dropdown-container>.select-box-dropdown-list-container .monaco-list .monaco-list-row>.visually-hidden{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}.monaco-select-box-dropdown-container>.select-box-dropdown-container-width-control{flex:1 1 auto;align-self:flex-start;opacity:0}.monaco-select-box-dropdown-container>.select-box-dropdown-container-width-control>.width-control-div{overflow:hidden;max-height:0px}.monaco-select-box-dropdown-container>.select-box-dropdown-container-width-control>.width-control-div>.option-text-width-control{padding-left:4px;padding-right:8px;white-space:nowrap}.monaco-select-box{width:100%;cursor:pointer;border-radius:2px}.monaco-select-box-dropdown-container{font-size:13px;font-weight:400;text-transform:none}.monaco-action-bar .action-item.select-container{cursor:default}.monaco-action-bar .action-item .monaco-select-box{cursor:pointer;min-width:100px;min-height:18px;padding:2px 23px 2px 8px}.mac .monaco-action-bar .action-item .monaco-select-box{font-size:11px;border-radius:5px}.monaco-action-bar{white-space:nowrap;height:100%}.monaco-action-bar .actions-container{display:flex;margin:0 auto;padding:0;height:100%;width:100%;align-items:center}.monaco-action-bar.vertical .actions-container{display:inline-block}.monaco-action-bar .action-item{display:block;align-items:center;justify-content:center;cursor:pointer;position:relative}.monaco-action-bar .action-item.disabled{cursor:default}.monaco-action-bar .action-item .icon,.monaco-action-bar .action-item .codicon{display:block}.monaco-action-bar .action-item .codicon{display:flex;align-items:center;width:16px;height:16px}.monaco-action-bar .action-label{display:flex;font-size:11px;padding:3px;border-radius:5px}.monaco-action-bar .action-item.disabled .action-label,.monaco-action-bar .action-item.disabled .action-label:before,.monaco-action-bar .action-item.disabled .action-label:hover{color:var(--vscode-disabledForeground)}.monaco-action-bar.vertical{text-align:left}.monaco-action-bar.vertical .action-item{display:block}.monaco-action-bar.vertical .action-label.separator{display:block;border-bottom:1px solid #bbb;padding-top:1px;margin-left:.8em;margin-right:.8em}.monaco-action-bar .action-item .action-label.separator{width:1px;height:16px;margin:5px 4px!important;cursor:default;min-width:1px;padding:0;background-color:#bbb}.secondary-actions .monaco-action-bar .action-label{margin-left:6px}.monaco-action-bar .action-item.select-container{overflow:hidden;flex:1;max-width:170px;min-width:60px;display:flex;align-items:center;justify-content:center;margin-right:10px}.monaco-action-bar .action-item.action-dropdown-item{display:flex}.monaco-action-bar .action-item.action-dropdown-item>.action-dropdown-item-separator{display:flex;align-items:center;cursor:default}.monaco-action-bar .action-item.action-dropdown-item>.action-dropdown-item-separator>div{width:1px}.monaco-dropdown{height:100%;padding:0}.monaco-dropdown>.dropdown-label{cursor:pointer;height:100%;display:flex;align-items:center;justify-content:center}.monaco-dropdown>.dropdown-label>.action-label.disabled{cursor:default}.monaco-dropdown-with-primary{display:flex!important;flex-direction:row;border-radius:5px}.monaco-dropdown-with-primary>.action-container>.action-label{margin-right:0}.monaco-dropdown-with-primary>.dropdown-action-container>.monaco-dropdown>.dropdown-label .codicon[class*=codicon-]{font-size:12px;padding-left:0;padding-right:0;line-height:16px;margin-left:-3px}.monaco-dropdown-with-primary>.dropdown-action-container>.monaco-dropdown>.dropdown-label>.action-label{display:block;background-size:16px;background-position:center center;background-repeat:no-repeat}.monaco-action-bar .action-item.menu-entry .action-label.icon{width:16px;height:16px;background-repeat:no-repeat;background-position:50%;background-size:16px}.monaco-dropdown-with-default{display:flex!important;flex-direction:row;border-radius:5px}.monaco-dropdown-with-default>.action-container>.action-label{margin-right:0}.monaco-dropdown-with-default>.action-container.menu-entry>.action-label.icon{width:16px;height:16px;background-repeat:no-repeat;background-position:50%;background-size:16px}.monaco-dropdown-with-default:hover{background-color:var(--vscode-toolbar-hoverBackground)}.monaco-dropdown-with-default>.dropdown-action-container>.monaco-dropdown>.dropdown-label .codicon[class*=codicon-]{font-size:12px;padding-left:0;padding-right:0;line-height:16px;margin-left:-3px}.monaco-dropdown-with-default>.dropdown-action-container>.monaco-dropdown>.dropdown-label>.action-label{display:block;background-size:16px;background-position:center center;background-repeat:no-repeat}.quick-input-widget{font-size:13px}.quick-input-widget .monaco-highlighted-label .highlight{color:#0066bf}.vs .quick-input-widget .monaco-list-row.focused .monaco-highlighted-label .highlight{color:#9dddff}.vs-dark .quick-input-widget .monaco-highlighted-label .highlight{color:#0097fb}.hc-black .quick-input-widget .monaco-highlighted-label .highlight{color:#f38518}.hc-light .quick-input-widget .monaco-highlighted-label .highlight{color:#0f4a85}.monaco-keybinding>.monaco-keybinding-key{background-color:#ddd6;border:solid 1px rgba(204,204,204,.4);border-bottom-color:#bbb6;box-shadow:inset 0 -1px #bbb6;color:#555}.hc-black .monaco-keybinding>.monaco-keybinding-key{background-color:transparent;border:solid 1px rgb(111,195,223);box-shadow:none;color:#fff}.hc-light .monaco-keybinding>.monaco-keybinding-key{background-color:transparent;border:solid 1px #0F4A85;box-shadow:none;color:#292929}.vs-dark .monaco-keybinding>.monaco-keybinding-key{background-color:#8080802b;border:solid 1px rgba(51,51,51,.6);border-bottom-color:#4449;box-shadow:inset 0 -1px #4449;color:#ccc}.monaco-custom-toggle{margin-left:2px;float:left;cursor:pointer;overflow:hidden;width:20px;height:20px;border-radius:3px;border:1px solid transparent;padding:1px;box-sizing:border-box;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-select:none}.monaco-custom-toggle:hover{background-color:var(--vscode-inputOption-hoverBackground)}.hc-black .monaco-custom-toggle:hover,.hc-light .monaco-custom-toggle:hover{border:1px dashed var(--vscode-focusBorder)}.hc-black .monaco-custom-toggle,.hc-light .monaco-custom-toggle,.hc-black .monaco-custom-toggle:hover,.hc-light .monaco-custom-toggle:hover{background:none}.monaco-custom-toggle.monaco-checkbox{height:18px;width:18px;border:1px solid transparent;border-radius:3px;margin-right:9px;margin-left:0;padding:0;opacity:1;background-size:16px!important}.monaco-action-bar .checkbox-action-item{display:flex;align-items:center}.monaco-action-bar .checkbox-action-item>.monaco-custom-toggle.monaco-checkbox{margin-right:4px}.monaco-action-bar .checkbox-action-item>.checkbox-label{font-size:12px}.monaco-custom-toggle.monaco-checkbox:not(.checked):before{visibility:hidden}.quick-input-widget{position:absolute;width:600px;z-index:2550;left:50%;margin-left:-300px;-webkit-app-region:no-drag;border-radius:6px}.quick-input-titlebar{display:flex;align-items:center;border-radius:inherit}.quick-input-left-action-bar{display:flex;margin-left:4px;flex:1}.quick-input-title{padding:3px 0;text-align:center;text-overflow:ellipsis;overflow:hidden}.quick-input-right-action-bar{display:flex;margin-right:4px;flex:1}.quick-input-right-action-bar>.actions-container{justify-content:flex-end}.quick-input-titlebar .monaco-action-bar .action-label.codicon{background-position:center;background-repeat:no-repeat;padding:2px}.quick-input-description{margin:6px 6px 6px 11px}.quick-input-header .quick-input-description{margin:4px 2px;flex:1}.quick-input-header{display:flex;padding:8px 6px 2px}.quick-input-widget.hidden-input .quick-input-header{padding:0;margin-bottom:0}.quick-input-and-message{display:flex;flex-direction:column;flex-grow:1;min-width:0;position:relative}.quick-input-check-all{align-self:center;margin:0}.quick-input-filter{flex-grow:1;display:flex;position:relative}.quick-input-box{flex-grow:1}.quick-input-widget.show-checkboxes .quick-input-box,.quick-input-widget.show-checkboxes .quick-input-message{margin-left:5px}.quick-input-visible-count{position:absolute;left:-10000px}.quick-input-count{align-self:center;position:absolute;right:4px;display:flex;align-items:center}.quick-input-count .monaco-count-badge{vertical-align:middle;padding:2px 4px;border-radius:2px;min-height:auto;line-height:normal}.quick-input-action{margin-left:6px}.quick-input-action .monaco-text-button{font-size:11px;padding:0 6px;display:flex;height:25px;align-items:center}.quick-input-message{margin-top:-1px;padding:5px;overflow-wrap:break-word}.quick-input-message>.codicon{margin:0 .2em;vertical-align:text-bottom}.quick-input-message a{color:inherit}.quick-input-progress.monaco-progress-container{position:relative}.quick-input-list{line-height:22px}.quick-input-widget.hidden-input .quick-input-list{margin-top:4px;padding-bottom:4px}.quick-input-list .monaco-list{overflow:hidden;max-height:440px;padding-bottom:5px}.quick-input-list .monaco-scrollable-element{padding:0 5px}.quick-input-list .quick-input-list-entry{box-sizing:border-box;overflow:hidden;display:flex;height:100%;padding:0 6px}.quick-input-list .quick-input-list-entry.quick-input-list-separator-border{border-top-width:1px;border-top-style:solid}.quick-input-list .monaco-list-row{border-radius:3px}.quick-input-list .monaco-list-row[data-index="0"] .quick-input-list-entry.quick-input-list-separator-border{border-top-style:none}.quick-input-list .quick-input-list-label{overflow:hidden;display:flex;height:100%;flex:1}.quick-input-list .quick-input-list-checkbox{align-self:center;margin:0}.quick-input-list .quick-input-list-icon{background-size:16px;background-position:left center;background-repeat:no-repeat;padding-right:6px;width:16px;height:22px;display:flex;align-items:center;justify-content:center}.quick-input-list .quick-input-list-rows{overflow:hidden;text-overflow:ellipsis;display:flex;flex-direction:column;height:100%;flex:1;margin-left:5px}.quick-input-widget.show-checkboxes .quick-input-list .quick-input-list-rows{margin-left:10px}.quick-input-widget .quick-input-list .quick-input-list-checkbox{display:none}.quick-input-widget.show-checkboxes .quick-input-list .quick-input-list-checkbox{display:inline}.quick-input-list .quick-input-list-rows>.quick-input-list-row{display:flex;align-items:center}.quick-input-list .quick-input-list-rows>.quick-input-list-row .monaco-icon-label,.quick-input-list .quick-input-list-rows>.quick-input-list-row .monaco-icon-label .monaco-icon-label-container>.monaco-icon-name-container{flex:1}.quick-input-list .quick-input-list-rows>.quick-input-list-row .codicon[class*=codicon-]{vertical-align:text-bottom}.quick-input-list .quick-input-list-rows .monaco-highlighted-label>span{opacity:1}.quick-input-list .quick-input-list-entry .quick-input-list-entry-keybinding{margin-right:8px}.quick-input-list .quick-input-list-label-meta{opacity:.7;line-height:normal;text-overflow:ellipsis;overflow:hidden}.quick-input-list .monaco-list .monaco-list-row .monaco-highlighted-label .highlight{font-weight:700;background-color:unset;color:var(--vscode-list-highlightForeground)!important}.quick-input-list .monaco-list .monaco-list-row.focused .monaco-highlighted-label .highlight{color:var(--vscode-list-focusHighlightForeground)!important}.quick-input-list .quick-input-list-entry .quick-input-list-separator{margin-right:4px}.quick-input-list .quick-input-list-entry-action-bar{display:flex;flex:0;overflow:visible}.quick-input-list .quick-input-list-entry-action-bar .action-label{display:none}.quick-input-list .quick-input-list-entry-action-bar .action-label.codicon{margin-right:4px;padding:0 2px 2px}.quick-input-list .quick-input-list-entry-action-bar{margin-top:1px;margin-right:4px}.quick-input-list .quick-input-list-entry .quick-input-list-entry-action-bar .action-label.always-visible,.quick-input-list .quick-input-list-entry:hover .quick-input-list-entry-action-bar .action-label,.quick-input-list .quick-input-list-entry.focus-inside .quick-input-list-entry-action-bar .action-label,.quick-input-list .monaco-list-row.focused .quick-input-list-entry-action-bar .action-label,.quick-input-list .monaco-list-row.passive-focused .quick-input-list-entry-action-bar .action-label{display:flex}.quick-input-list .monaco-list-row.focused .monaco-keybinding-key,.quick-input-list .monaco-list-row.focused .quick-input-list-entry .quick-input-list-separator{color:inherit}.quick-input-list .monaco-list-row.focused .monaco-keybinding-key{background:none}.quick-input-list .quick-input-list-separator-as-item{padding:4px 6px;font-size:12px}.quick-input-list .quick-input-list-separator-as-item .label-name{font-weight:600}.quick-input-list .quick-input-list-separator-as-item .label-description{opacity:1!important}.quick-input-list .monaco-tree-sticky-row .quick-input-list-entry.quick-input-list-separator-as-item.quick-input-list-separator-border{border-top-style:none}.quick-input-list .monaco-tree-sticky-row{padding:0 5px}.quick-input-list .monaco-tl-twistie{display:none!important}:root{--vscode-sash-size: 4px;--vscode-sash-hover-size: 4px}.monaco-sash{position:absolute;z-index:35;touch-action:none}.monaco-sash.disabled{pointer-events:none}.monaco-sash.mac.vertical{cursor:col-resize}.monaco-sash.vertical.minimum{cursor:e-resize}.monaco-sash.vertical.maximum{cursor:w-resize}.monaco-sash.mac.horizontal{cursor:row-resize}.monaco-sash.horizontal.minimum{cursor:s-resize}.monaco-sash.horizontal.maximum{cursor:n-resize}.monaco-sash.disabled{cursor:default!important;pointer-events:none!important}.monaco-sash.vertical{cursor:ew-resize;top:0;width:var(--vscode-sash-size);height:100%}.monaco-sash.horizontal{cursor:ns-resize;left:0;width:100%;height:var(--vscode-sash-size)}.monaco-sash:not(.disabled)>.orthogonal-drag-handle{content:" ";height:calc(var(--vscode-sash-size) * 2);width:calc(var(--vscode-sash-size) * 2);z-index:100;display:block;cursor:all-scroll;position:absolute}.monaco-sash.horizontal.orthogonal-edge-north:not(.disabled)>.orthogonal-drag-handle.start,.monaco-sash.horizontal.orthogonal-edge-south:not(.disabled)>.orthogonal-drag-handle.end{cursor:nwse-resize}.monaco-sash.horizontal.orthogonal-edge-north:not(.disabled)>.orthogonal-drag-handle.end,.monaco-sash.horizontal.orthogonal-edge-south:not(.disabled)>.orthogonal-drag-handle.start{cursor:nesw-resize}.monaco-sash.vertical>.orthogonal-drag-handle.start{left:calc(var(--vscode-sash-size) * -.5);top:calc(var(--vscode-sash-size) * -1)}.monaco-sash.vertical>.orthogonal-drag-handle.end{left:calc(var(--vscode-sash-size) * -.5);bottom:calc(var(--vscode-sash-size) * -1)}.monaco-sash.horizontal>.orthogonal-drag-handle.start{top:calc(var(--vscode-sash-size) * -.5);left:calc(var(--vscode-sash-size) * -1)}.monaco-sash.horizontal>.orthogonal-drag-handle.end{top:calc(var(--vscode-sash-size) * -.5);right:calc(var(--vscode-sash-size) * -1)}.monaco-sash:before{content:"";pointer-events:none;position:absolute;width:100%;height:100%;background:transparent}.monaco-workbench:not(.reduce-motion) .monaco-sash:before{transition:background-color .1s ease-out}.monaco-sash.hover:before,.monaco-sash.active:before{background:var(--vscode-sash-hoverBorder)}.monaco-sash.vertical:before{width:var(--vscode-sash-hover-size);left:calc(50% - (var(--vscode-sash-hover-size) / 2))}.monaco-sash.horizontal:before{height:var(--vscode-sash-hover-size);top:calc(50% - (var(--vscode-sash-hover-size) / 2))}.pointer-events-disabled{pointer-events:none!important}.monaco-sash.debug{background:#0ff}.monaco-sash.debug.disabled{background:#0ff3}.monaco-sash.debug:not(.disabled)>.orthogonal-drag-handle{background:red}.monaco-split-view2{position:relative;width:100%;height:100%}.monaco-split-view2>.sash-container{position:absolute;width:100%;height:100%;pointer-events:none}.monaco-split-view2>.sash-container>.monaco-sash{pointer-events:initial}.monaco-split-view2>.monaco-scrollable-element{width:100%;height:100%}.monaco-split-view2>.monaco-scrollable-element>.split-view-container{width:100%;height:100%;white-space:nowrap;position:relative}.monaco-split-view2>.monaco-scrollable-element>.split-view-container>.split-view-view{white-space:initial;position:absolute}.monaco-split-view2>.monaco-scrollable-element>.split-view-container>.split-view-view:not(.visible){display:none}.monaco-split-view2.vertical>.monaco-scrollable-element>.split-view-container>.split-view-view{width:100%}.monaco-split-view2.horizontal>.monaco-scrollable-element>.split-view-container>.split-view-view{height:100%}.monaco-split-view2.separator-border>.monaco-scrollable-element>.split-view-container>.split-view-view:not(:first-child):before{content:" ";position:absolute;top:0;left:0;z-index:5;pointer-events:none;background-color:var(--separator-border)}.monaco-split-view2.separator-border.horizontal>.monaco-scrollable-element>.split-view-container>.split-view-view:not(:first-child):before{height:100%;width:1px}.monaco-split-view2.separator-border.vertical>.monaco-scrollable-element>.split-view-container>.split-view-view:not(:first-child):before{height:1px;width:100%}.monaco-table{display:flex;flex-direction:column;position:relative;height:100%;width:100%;white-space:nowrap;overflow:hidden}.monaco-table>.monaco-split-view2{border-bottom:1px solid transparent}.monaco-table>.monaco-list{flex:1}.monaco-table-tr{display:flex;height:100%}.monaco-table-th{width:100%;height:100%;font-weight:700;overflow:hidden;text-overflow:ellipsis}.monaco-table-th,.monaco-table-td{box-sizing:border-box;flex-shrink:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.monaco-table>.monaco-split-view2 .monaco-sash.vertical:before{content:"";position:absolute;left:calc(var(--vscode-sash-size) / 2);width:0;border-left:1px solid transparent}.monaco-workbench:not(.reduce-motion) .monaco-table>.monaco-split-view2,.monaco-workbench:not(.reduce-motion) .monaco-table>.monaco-split-view2 .monaco-sash.vertical:before{transition:border-color .2s ease-out}.monaco-inputbox{position:relative;display:block;padding:0;box-sizing:border-box;border-radius:2px;font-size:inherit}.monaco-inputbox>.ibwrapper>.input,.monaco-inputbox>.ibwrapper>.mirror{padding:4px 6px}.monaco-inputbox>.ibwrapper{position:relative;width:100%;height:100%}.monaco-inputbox>.ibwrapper>.input{display:inline-block;box-sizing:border-box;width:100%;height:100%;line-height:inherit;border:none;font-family:inherit;font-size:inherit;resize:none;color:inherit}.monaco-inputbox>.ibwrapper>input{text-overflow:ellipsis}.monaco-inputbox>.ibwrapper>textarea.input{display:block;scrollbar-width:none;outline:none}.monaco-inputbox>.ibwrapper>textarea.input::-webkit-scrollbar{display:none}.monaco-inputbox>.ibwrapper>textarea.input.empty{white-space:nowrap}.monaco-inputbox>.ibwrapper>.mirror{position:absolute;display:inline-block;width:100%;top:0;left:0;box-sizing:border-box;white-space:pre-wrap;visibility:hidden;word-wrap:break-word}.monaco-inputbox-container{text-align:right}.monaco-inputbox-container .monaco-inputbox-message{display:inline-block;overflow:hidden;text-align:left;width:100%;box-sizing:border-box;padding:.4em;font-size:12px;line-height:17px;margin-top:-1px;word-wrap:break-word}.monaco-inputbox .monaco-action-bar{position:absolute;right:2px;top:4px}.monaco-inputbox .monaco-action-bar .action-item{margin-left:2px}.monaco-inputbox .monaco-action-bar .action-item .codicon{background-repeat:no-repeat;width:16px;height:16px}.monaco-findInput{position:relative}.monaco-findInput .monaco-inputbox{font-size:13px;width:100%}.monaco-findInput>.controls{position:absolute;top:3px;right:2px}.vs .monaco-findInput.disabled{background-color:#e1e1e1}.vs-dark .monaco-findInput.disabled{background-color:#333}.monaco-findInput.highlight-0 .controls,.hc-light .monaco-findInput.highlight-0 .controls{animation:monaco-findInput-highlight-0 .1s linear 0s}.monaco-findInput.highlight-1 .controls,.hc-light .monaco-findInput.highlight-1 .controls{animation:monaco-findInput-highlight-1 .1s linear 0s}.hc-black .monaco-findInput.highlight-0 .controls,.vs-dark .monaco-findInput.highlight-0 .controls{animation:monaco-findInput-highlight-dark-0 .1s linear 0s}.hc-black .monaco-findInput.highlight-1 .controls,.vs-dark .monaco-findInput.highlight-1 .controls{animation:monaco-findInput-highlight-dark-1 .1s linear 0s}@keyframes monaco-findInput-highlight-0{0%{background:#fdff00cc}to{background:transparent}}@keyframes monaco-findInput-highlight-1{0%{background:#fdff00cc}99%{background:transparent}}@keyframes monaco-findInput-highlight-dark-0{0%{background:#ffffff70}to{background:transparent}}@keyframes monaco-findInput-highlight-dark-1{0%{background:#ffffff70}99%{background:transparent}}.monaco-tl-row{display:flex;height:100%;align-items:center;position:relative}.monaco-tl-row.disabled{cursor:default}.monaco-tl-indent{height:100%;position:absolute;top:0;left:16px;pointer-events:none}.hide-arrows .monaco-tl-indent{left:12px}.monaco-tl-indent>.indent-guide{display:inline-block;box-sizing:border-box;height:100%;border-left:1px solid transparent}.monaco-workbench:not(.reduce-motion) .monaco-tl-indent>.indent-guide{transition:border-color .1s linear}.monaco-tl-twistie,.monaco-tl-contents{height:100%}.monaco-tl-twistie{font-size:10px;text-align:right;padding-right:6px;flex-shrink:0;width:16px;display:flex!important;align-items:center;justify-content:center;transform:translate(3px)}.monaco-tl-contents{flex:1;overflow:hidden}.monaco-tl-twistie:before{border-radius:20px}.monaco-tl-twistie.collapsed:before{transform:rotate(-90deg)}.monaco-tl-twistie.codicon-tree-item-loading:before{animation:codicon-spin 1.25s steps(30) infinite}.monaco-tree-type-filter{position:absolute;top:0;display:flex;padding:3px;max-width:200px;z-index:100;margin:0 6px;border:1px solid var(--vscode-widget-border);border-bottom-left-radius:4px;border-bottom-right-radius:4px}.monaco-workbench:not(.reduce-motion) .monaco-tree-type-filter{transition:top .3s}.monaco-tree-type-filter.disabled{top:-40px!important}.monaco-tree-type-filter-grab{display:flex!important;align-items:center;justify-content:center;cursor:-webkit-grab;cursor:grab;margin-right:2px}.monaco-tree-type-filter-grab.grabbing{cursor:-webkit-grabbing;cursor:grabbing}.monaco-tree-type-filter-input{flex:1}.monaco-tree-type-filter-input .monaco-inputbox{height:23px}.monaco-tree-type-filter-input .monaco-inputbox>.ibwrapper>.input,.monaco-tree-type-filter-input .monaco-inputbox>.ibwrapper>.mirror{padding:2px 4px}.monaco-tree-type-filter-input .monaco-findInput>.controls{top:2px}.monaco-tree-type-filter-actionbar{margin-left:4px}.monaco-tree-type-filter-actionbar .monaco-action-bar .action-label{padding:2px}.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container{position:absolute;top:0;left:0;width:100%;height:0;z-index:13;background-color:var(--vscode-sideBar-background)}.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container .monaco-tree-sticky-row.monaco-list-row{position:absolute;width:100%;opacity:1!important;overflow:hidden;background-color:var(--vscode-sideBar-background)}.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container .monaco-tree-sticky-row:hover{background-color:var(--vscode-list-hoverBackground)!important;cursor:pointer}.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container.empty,.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container.empty .monaco-tree-sticky-container-shadow{display:none}.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container .monaco-tree-sticky-container-shadow{position:absolute;bottom:-3px;left:0;height:0px;width:100%}.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container[tabindex="0"]:focus{outline:none}.monaco-icon-label{display:flex;overflow:hidden;text-overflow:ellipsis}.monaco-icon-label:before{background-size:16px;background-position:left center;background-repeat:no-repeat;padding-right:6px;width:16px;height:22px;line-height:inherit!important;display:inline-block;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;vertical-align:top;flex-shrink:0}.monaco-icon-label-container.disabled{color:var(--vscode-disabledForeground)}.monaco-icon-label>.monaco-icon-label-container{min-width:0;overflow:hidden;text-overflow:ellipsis;flex:1}.monaco-icon-label>.monaco-icon-label-container>.monaco-icon-name-container>.label-name{color:inherit;white-space:pre}.monaco-icon-label>.monaco-icon-label-container>.monaco-icon-name-container>.label-name>.label-separator{margin:0 2px;opacity:.5}.monaco-icon-label>.monaco-icon-label-container>.monaco-icon-suffix-container>.label-suffix{opacity:.7;white-space:pre}.monaco-icon-label>.monaco-icon-label-container>.monaco-icon-description-container>.label-description{opacity:.7;margin-left:.5em;font-size:.9em;white-space:pre}.monaco-icon-label.nowrap>.monaco-icon-label-container>.monaco-icon-description-container>.label-description{white-space:nowrap}.vs .monaco-icon-label>.monaco-icon-label-container>.monaco-icon-description-container>.label-description{opacity:.95}.monaco-icon-label.italic>.monaco-icon-label-container>.monaco-icon-name-container>.label-name,.monaco-icon-label.italic>.monaco-icon-label-container>.monaco-icon-description-container>.label-description{font-style:italic}.monaco-icon-label.deprecated{text-decoration:line-through;opacity:.66}.monaco-icon-label.italic:after{font-style:italic}.monaco-icon-label.strikethrough>.monaco-icon-label-container>.monaco-icon-name-container>.label-name,.monaco-icon-label.strikethrough>.monaco-icon-label-container>.monaco-icon-description-container>.label-description{text-decoration:line-through}.monaco-icon-label:after{opacity:.75;font-size:90%;font-weight:600;margin:auto 16px 0 5px;text-align:center}.monaco-list:focus .selected .monaco-icon-label,.monaco-list:focus .selected .monaco-icon-label:after{color:inherit!important}.monaco-list-row.focused.selected .label-description,.monaco-list-row.selected .label-description{opacity:.8}.monaco-keybinding{display:flex;align-items:center;line-height:10px}.monaco-keybinding>.monaco-keybinding-key{display:inline-block;border-style:solid;border-width:1px;border-radius:3px;vertical-align:middle;font-size:11px;padding:3px 5px;margin:0 2px}.monaco-keybinding>.monaco-keybinding-key:first-child{margin-left:0}.monaco-keybinding>.monaco-keybinding-key:last-child{margin-right:0}.monaco-keybinding>.monaco-keybinding-key-separator{display:inline-block}.monaco-keybinding>.monaco-keybinding-key-chord-separator{width:6px}.monaco-text-button{box-sizing:border-box;display:flex;width:100%;padding:4px;border-radius:2px;text-align:center;cursor:pointer;justify-content:center;align-items:center;border:1px solid var(--vscode-button-border, transparent);line-height:18px}.monaco-text-button:focus{outline-offset:2px!important}.monaco-text-button:hover{text-decoration:none!important}.monaco-button.disabled:focus,.monaco-button.disabled{opacity:.4!important;cursor:default}.monaco-text-button .codicon{margin:0 .2em;color:inherit!important}.monaco-text-button.monaco-text-button-with-short-label{flex-direction:row;flex-wrap:wrap;padding:0 4px;overflow:hidden;height:28px}.monaco-text-button.monaco-text-button-with-short-label>.monaco-button-label{flex-basis:100%}.monaco-text-button.monaco-text-button-with-short-label>.monaco-button-label-short{flex-grow:1;width:0;overflow:hidden}.monaco-text-button.monaco-text-button-with-short-label>.monaco-button-label,.monaco-text-button.monaco-text-button-with-short-label>.monaco-button-label-short{display:flex;justify-content:center;align-items:center;font-weight:400;font-style:inherit;padding:4px 0}.monaco-button-dropdown{display:flex;cursor:pointer}.monaco-button-dropdown.disabled{cursor:default}.monaco-button-dropdown>.monaco-button:focus{outline-offset:-1px!important}.monaco-button-dropdown.disabled>.monaco-button.disabled,.monaco-button-dropdown.disabled>.monaco-button.disabled:focus,.monaco-button-dropdown.disabled>.monaco-button-dropdown-separator{opacity:.4!important}.monaco-button-dropdown>.monaco-button.monaco-text-button{border-right-width:0!important}.monaco-button-dropdown .monaco-button-dropdown-separator{padding:4px 0;cursor:default}.monaco-button-dropdown .monaco-button-dropdown-separator>div{height:100%;width:1px}.monaco-button-dropdown>.monaco-button.monaco-dropdown-button{border:1px solid var(--vscode-button-border, transparent);border-left-width:0!important;border-radius:0 2px 2px 0;display:flex;align-items:center}.monaco-button-dropdown>.monaco-button.monaco-text-button{border-radius:2px 0 0 2px}.monaco-description-button{display:flex;flex-direction:column;align-items:center;margin:4px 5px}.monaco-description-button .monaco-button-description{font-style:italic;font-size:11px;padding:4px 20px}.monaco-description-button .monaco-button-label,.monaco-description-button .monaco-button-description{display:flex;justify-content:center;align-items:center}.monaco-description-button .monaco-button-label>.codicon,.monaco-description-button .monaco-button-description>.codicon{margin:0 .2em;color:inherit!important}.monaco-button.default-colors,.monaco-button-dropdown.default-colors>.monaco-button{color:var(--vscode-button-foreground);background-color:var(--vscode-button-background)}.monaco-button.default-colors:hover,.monaco-button-dropdown.default-colors>.monaco-button:hover{background-color:var(--vscode-button-hoverBackground)}.monaco-button.default-colors.secondary,.monaco-button-dropdown.default-colors>.monaco-button.secondary{color:var(--vscode-button-secondaryForeground);background-color:var(--vscode-button-secondaryBackground)}.monaco-button.default-colors.secondary:hover,.monaco-button-dropdown.default-colors>.monaco-button.secondary:hover{background-color:var(--vscode-button-secondaryHoverBackground)}.monaco-button-dropdown.default-colors .monaco-button-dropdown-separator{background-color:var(--vscode-button-background);border-top:1px solid var(--vscode-button-border);border-bottom:1px solid var(--vscode-button-border)}.monaco-button-dropdown.default-colors .monaco-button.secondary+.monaco-button-dropdown-separator{background-color:var(--vscode-button-secondaryBackground)}.monaco-button-dropdown.default-colors .monaco-button-dropdown-separator>div{background-color:var(--vscode-button-separator)}.monaco-count-badge{padding:3px 6px;border-radius:11px;font-size:11px;min-width:18px;min-height:18px;line-height:11px;font-weight:400;text-align:center;display:inline-block;box-sizing:border-box}.monaco-count-badge.long{padding:2px 3px;border-radius:2px;min-height:auto;line-height:normal}.monaco-progress-container{width:100%;height:2px;overflow:hidden}.monaco-progress-container .progress-bit{width:2%;height:2px;position:absolute;left:0;display:none}.monaco-progress-container.active .progress-bit{display:inherit}.monaco-progress-container.discrete .progress-bit{left:0;transition:width .1s linear}.monaco-progress-container.discrete.done .progress-bit{width:100%}.monaco-progress-container.infinite .progress-bit{animation-name:progress;animation-duration:4s;animation-iteration-count:infinite;transform:translateZ(0);animation-timing-function:linear}.monaco-progress-container.infinite.infinite-long-running .progress-bit{animation-timing-function:steps(100)}@keyframes progress{0%{transform:translate(0) scaleX(1)}50%{transform:translate(2500%) scaleX(3)}to{transform:translate(4900%) scaleX(1)}}.monaco-editor .diff-hidden-lines-widget{width:100%}.monaco-editor .diff-hidden-lines{height:0px;transform:translateY(-10px);font-size:13px;line-height:14px}.monaco-editor .diff-hidden-lines:not(.dragging) .top:hover,.monaco-editor .diff-hidden-lines:not(.dragging) .bottom:hover,.monaco-editor .diff-hidden-lines .top.dragging,.monaco-editor .diff-hidden-lines .bottom.dragging{background-color:var(--vscode-focusBorder)}.monaco-editor .diff-hidden-lines .top,.monaco-editor .diff-hidden-lines .bottom{transition:background-color .1s ease-out;height:4px;background-color:transparent;background-clip:padding-box;border-bottom:2px solid transparent;border-top:4px solid transparent}.monaco-editor.draggingUnchangedRegion.canMoveTop:not(.canMoveBottom) *,.monaco-editor .diff-hidden-lines .top.canMoveTop:not(.canMoveBottom),.monaco-editor .diff-hidden-lines .bottom.canMoveTop:not(.canMoveBottom){cursor:n-resize!important}.monaco-editor.draggingUnchangedRegion:not(.canMoveTop).canMoveBottom *,.monaco-editor .diff-hidden-lines .top:not(.canMoveTop).canMoveBottom,.monaco-editor .diff-hidden-lines .bottom:not(.canMoveTop).canMoveBottom{cursor:s-resize!important}.monaco-editor.draggingUnchangedRegion.canMoveTop.canMoveBottom *,.monaco-editor .diff-hidden-lines .top.canMoveTop.canMoveBottom,.monaco-editor .diff-hidden-lines .bottom.canMoveTop.canMoveBottom{cursor:ns-resize!important}.monaco-editor .diff-hidden-lines .top{transform:translateY(4px)}.monaco-editor .diff-hidden-lines .bottom{transform:translateY(-6px)}.monaco-editor .diff-unchanged-lines{background:var(--vscode-diffEditor-unchangedCodeBackground)}.monaco-editor .noModificationsOverlay{z-index:1;background:var(--vscode-editor-background);display:flex;justify-content:center;align-items:center}.monaco-editor .diff-hidden-lines .center{background:var(--vscode-diffEditor-unchangedRegionBackground);color:var(--vscode-diffEditor-unchangedRegionForeground);overflow:hidden;display:block;text-overflow:ellipsis;white-space:nowrap;height:24px;box-shadow:inset 0 -5px 5px -7px var(--vscode-diffEditor-unchangedRegionShadow),inset 0 5px 5px -7px var(--vscode-diffEditor-unchangedRegionShadow)}.monaco-editor .diff-hidden-lines .center span.codicon{vertical-align:middle}.monaco-editor .diff-hidden-lines .center a:hover .codicon{cursor:pointer;color:var(--vscode-editorLink-activeForeground)!important}.monaco-editor .diff-hidden-lines div.breadcrumb-item{cursor:pointer}.monaco-editor .diff-hidden-lines div.breadcrumb-item:hover{color:var(--vscode-editorLink-activeForeground)}.monaco-editor .movedOriginal,.monaco-editor .movedModified{border:2px solid var(--vscode-diffEditor-move-border)}.monaco-editor .movedOriginal.currentMove,.monaco-editor .movedModified.currentMove{border:2px solid var(--vscode-diffEditor-moveActive-border)}.monaco-diff-editor .moved-blocks-lines path.currentMove{stroke:var(--vscode-diffEditor-moveActive-border)}.monaco-diff-editor .moved-blocks-lines path{pointer-events:visiblestroke}.monaco-diff-editor .moved-blocks-lines .arrow{fill:var(--vscode-diffEditor-move-border)}.monaco-diff-editor .moved-blocks-lines .arrow.currentMove{fill:var(--vscode-diffEditor-moveActive-border)}.monaco-diff-editor .moved-blocks-lines .arrow-rectangle{fill:var(--vscode-editor-background)}.monaco-diff-editor .moved-blocks-lines{position:absolute;pointer-events:none}.monaco-diff-editor .moved-blocks-lines path{fill:none;stroke:var(--vscode-diffEditor-move-border);stroke-width:2}.monaco-editor .char-delete.diff-range-empty{margin-left:-1px;border-left:solid var(--vscode-diffEditor-removedTextBackground) 3px}.monaco-editor .char-insert.diff-range-empty{border-left:solid var(--vscode-diffEditor-insertedTextBackground) 3px}.monaco-editor .fold-unchanged{cursor:pointer}.monaco-diff-editor .diff-moved-code-block{display:flex;justify-content:flex-end;margin-top:-4px}.monaco-diff-editor .diff-moved-code-block .action-bar .action-label.codicon{width:12px;height:12px;font-size:12px}.monaco-diff-editor .diffOverview{z-index:9}.monaco-diff-editor .diffOverview .diffViewport{z-index:10}.monaco-diff-editor.vs .diffOverview{background:#00000008}.monaco-diff-editor.vs-dark .diffOverview{background:#ffffff03}.monaco-scrollable-element.modified-in-monaco-diff-editor.vs .scrollbar,.monaco-scrollable-element.modified-in-monaco-diff-editor.vs-dark .scrollbar{background:#0000}.monaco-scrollable-element.modified-in-monaco-diff-editor.hc-black .scrollbar,.monaco-scrollable-element.modified-in-monaco-diff-editor.hc-light .scrollbar{background:none}.monaco-scrollable-element.modified-in-monaco-diff-editor .slider{z-index:10}.modified-in-monaco-diff-editor .slider.active{background:#ababab66}.modified-in-monaco-diff-editor.hc-black .slider.active,.modified-in-monaco-diff-editor.hc-light .slider.active{background:none}.monaco-editor .insert-sign,.monaco-diff-editor .insert-sign,.monaco-editor .delete-sign,.monaco-diff-editor .delete-sign{font-size:11px!important;opacity:.7!important;display:flex!important;align-items:center}.monaco-editor.hc-black .insert-sign,.monaco-diff-editor.hc-black .insert-sign,.monaco-editor.hc-black .delete-sign,.monaco-diff-editor.hc-black .delete-sign,.monaco-editor.hc-light .insert-sign,.monaco-diff-editor.hc-light .insert-sign,.monaco-editor.hc-light .delete-sign,.monaco-diff-editor.hc-light .delete-sign{opacity:1}.monaco-editor .inline-deleted-margin-view-zone,.monaco-editor .inline-added-margin-view-zone{text-align:right}.monaco-editor .arrow-revert-change{z-index:10;position:absolute}.monaco-editor .arrow-revert-change:hover{cursor:pointer}.monaco-editor .view-zones .view-lines .view-line span{display:inline-block}.monaco-editor .margin-view-zones .lightbulb-glyph:hover{cursor:pointer}.monaco-editor .char-insert,.monaco-diff-editor .char-insert{background-color:var(--vscode-diffEditor-insertedTextBackground)}.monaco-editor .line-insert,.monaco-diff-editor .line-insert{background-color:var(--vscode-diffEditor-insertedLineBackground, var(--vscode-diffEditor-insertedTextBackground))}.monaco-editor .line-insert,.monaco-editor .char-insert{box-sizing:border-box;border:1px solid var(--vscode-diffEditor-insertedTextBorder)}.monaco-editor.hc-black .line-insert,.monaco-editor.hc-light .line-insert,.monaco-editor.hc-black .char-insert,.monaco-editor.hc-light .char-insert{border-style:dashed}.monaco-editor .line-delete,.monaco-editor .char-delete{box-sizing:border-box;border:1px solid var(--vscode-diffEditor-removedTextBorder)}.monaco-editor.hc-black .line-delete,.monaco-editor.hc-light .line-delete,.monaco-editor.hc-black .char-delete,.monaco-editor.hc-light .char-delete{border-style:dashed}.monaco-editor .inline-added-margin-view-zone,.monaco-editor .gutter-insert,.monaco-diff-editor .gutter-insert{background-color:var(--vscode-diffEditorGutter-insertedLineBackground, var(--vscode-diffEditor-insertedLineBackground), var(--vscode-diffEditor-insertedTextBackground))}.monaco-editor .char-delete,.monaco-diff-editor .char-delete{background-color:var(--vscode-diffEditor-removedTextBackground)}.monaco-editor .line-delete,.monaco-diff-editor .line-delete{background-color:var(--vscode-diffEditor-removedLineBackground, var(--vscode-diffEditor-removedTextBackground))}.monaco-editor .inline-deleted-margin-view-zone,.monaco-editor .gutter-delete,.monaco-diff-editor .gutter-delete{background-color:var(--vscode-diffEditorGutter-removedLineBackground, var(--vscode-diffEditor-removedLineBackground), var(--vscode-diffEditor-removedTextBackground))}.monaco-diff-editor.side-by-side .editor.modified{box-shadow:-6px 0 5px -5px var(--vscode-scrollbar-shadow);border-left:1px solid var(--vscode-diffEditor-border)}.monaco-diff-editor.side-by-side .editor.original{box-shadow:6px 0 5px -5px var(--vscode-scrollbar-shadow);border-right:1px solid var(--vscode-diffEditor-border)}.monaco-diff-editor .diffViewport{background:var(--vscode-scrollbarSlider-background)}.monaco-diff-editor .diffViewport:hover{background:var(--vscode-scrollbarSlider-hoverBackground)}.monaco-diff-editor .diffViewport:active{background:var(--vscode-scrollbarSlider-activeBackground)}.monaco-editor .diagonal-fill{background-image:linear-gradient(-45deg,var(--vscode-diffEditor-diagonalFill) 12.5%,#0000 12.5%,#0000 50%,var(--vscode-diffEditor-diagonalFill) 50%,var(--vscode-diffEditor-diagonalFill) 62.5%,#0000 62.5%,#0000 100%);background-size:8px 8px}.monaco-diff-editor .gutter{position:relative;overflow:hidden;flex-shrink:0;flex-grow:0}.monaco-diff-editor .gutter .gutterItem{opacity:0;transition:opacity .7s}.monaco-diff-editor .gutter .gutterItem.showAlways{opacity:1;transition:none}.monaco-diff-editor .gutter .gutterItem.noTransition{transition:none}.monaco-diff-editor .gutter:hover .gutterItem{opacity:1;transition:opacity .1s ease-in-out}.monaco-diff-editor .gutter .gutterItem .background{position:absolute;height:100%;left:50%;width:1px;border-left:2px var(--vscode-menu-border) solid}.monaco-diff-editor .gutter .gutterItem .buttons{position:absolute;width:100%;display:flex;justify-content:center;align-items:center}.monaco-diff-editor .gutter .gutterItem .buttons .monaco-toolbar{height:-moz-fit-content;height:fit-content}.monaco-diff-editor .gutter .gutterItem .buttons .monaco-toolbar .monaco-action-bar{line-height:1}.monaco-diff-editor .gutter .gutterItem .buttons .monaco-toolbar .monaco-action-bar .actions-container{width:-moz-fit-content;width:fit-content;border-radius:4px;border:1px var(--vscode-menu-border) solid;background:var(--vscode-editor-background)}.monaco-diff-editor .gutter .gutterItem .buttons .monaco-toolbar .monaco-action-bar .actions-container .action-item:hover{background:var(--vscode-toolbar-hoverBackground)}.monaco-diff-editor .gutter .gutterItem .buttons .monaco-toolbar .monaco-action-bar .actions-container .action-item .action-label{padding:.5px 1px}.monaco-component.diff-review{-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-select:none;z-index:99}.monaco-diff-editor .diff-review{position:absolute}.monaco-component.diff-review .diff-review-line-number{text-align:right;display:inline-block;color:var(--vscode-editorLineNumber-foreground)}.monaco-component.diff-review .diff-review-summary{padding-left:10px}.monaco-component.diff-review .diff-review-shadow{position:absolute;box-shadow:var(--vscode-scrollbar-shadow) 0 -6px 6px -6px inset}.monaco-component.diff-review .diff-review-row{white-space:pre}.monaco-component.diff-review .diff-review-table{display:table;min-width:100%}.monaco-component.diff-review .diff-review-row{display:table-row;width:100%}.monaco-component.diff-review .diff-review-spacer{display:inline-block;width:10px;vertical-align:middle}.monaco-component.diff-review .diff-review-spacer>.codicon{font-size:9px!important}.monaco-component.diff-review .diff-review-actions{display:inline-block;position:absolute;right:10px;top:2px;z-index:100}.monaco-component.diff-review .diff-review-actions .action-label{width:16px;height:16px;margin:2px 0}.monaco-component.diff-review .revertButton{cursor:pointer}.monaco-toolbar{height:100%}.monaco-toolbar .toolbar-toggle-more{display:inline-block;padding:0}.monaco-component.multiDiffEditor{background:var(--vscode-multiDiffEditor-background);overflow-y:hidden}.monaco-component.multiDiffEditor .active{--vscode-multiDiffEditor-border: var(--vscode-focusBorder)}.monaco-component.multiDiffEditor .multiDiffEntry{display:flex;flex-direction:column;flex:1;overflow:hidden}.monaco-component.multiDiffEditor .multiDiffEntry .collapse-button{margin:0 5px;cursor:pointer}.monaco-component.multiDiffEditor .multiDiffEntry .collapse-button a{display:block}.monaco-component.multiDiffEditor .multiDiffEntry .header{z-index:1000;background:var(--vscode-editor-background)}.monaco-component.multiDiffEditor .multiDiffEntry .header:not(.collapsed) .header-content{border-bottom:1px solid var(--vscode-sideBarSectionHeader-border)}.monaco-component.multiDiffEditor .multiDiffEntry .header .header-content{margin:8px 0 0;padding:4px 5px;border-top:1px solid var(--vscode-multiDiffEditor-border);display:flex;align-items:center;color:var(--vscode-foreground);background:var(--vscode-multiDiffEditor-headerBackground)}.monaco-component.multiDiffEditor .multiDiffEntry .header .header-content.shadow{box-shadow:var(--vscode-scrollbar-shadow) 0 6px 6px -6px}.monaco-component.multiDiffEditor .multiDiffEntry .header .header-content .file-path{display:flex;flex:1;min-width:0}.monaco-component.multiDiffEditor .multiDiffEntry .header .header-content .file-path .title{font-size:14px;line-height:22px}.monaco-component.multiDiffEditor .multiDiffEntry .header .header-content .file-path .title.original{flex:1;min-width:0;text-overflow:ellipsis}.monaco-component.multiDiffEditor .multiDiffEntry .header .header-content .file-path .status{font-weight:600;opacity:.75;margin:0 10px;line-height:22px}.monaco-component.multiDiffEditor .multiDiffEntry .header .header-content .actions{padding:0 8px}.monaco-component.multiDiffEditor .multiDiffEntry .editorParent{flex:1;display:flex;flex-direction:column;border-bottom:1px solid var(--vscode-multiDiffEditor-border);overflow:hidden}.monaco-component.multiDiffEditor .multiDiffEntry .editorContainer{flex:1}.monaco-editor .selection-anchor{background-color:#007acc;width:2px!important}.monaco-editor .bracket-match{box-sizing:border-box;background-color:var(--vscode-editorBracketMatch-background);border:1px solid var(--vscode-editorBracketMatch-border)}.inline-editor-progress-decoration{display:inline-block;width:1em;height:1em}.inline-progress-widget{display:flex!important;justify-content:center;align-items:center}.inline-progress-widget .icon{font-size:80%!important}.inline-progress-widget:hover .icon{font-size:90%!important;animation:none}.inline-progress-widget:hover .icon:before{content:var(--vscode-icon-x-content);font-family:var(--vscode-icon-x-font-family)}.monaco-editor .monaco-editor-overlaymessage{padding-bottom:8px;z-index:10000}.monaco-editor .monaco-editor-overlaymessage.below{padding-bottom:0;padding-top:8px;z-index:10000}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.monaco-editor .monaco-editor-overlaymessage.fadeIn{animation:fadeIn .15s ease-out}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}.monaco-editor .monaco-editor-overlaymessage.fadeOut{animation:fadeOut .1s ease-out}.monaco-editor .monaco-editor-overlaymessage .message{padding:2px 4px;color:var(--vscode-editorHoverWidget-foreground);background-color:var(--vscode-editorHoverWidget-background);border:1px solid var(--vscode-inputValidation-infoBorder);border-radius:3px}.monaco-editor .monaco-editor-overlaymessage .message p{margin-block:0px}.monaco-editor .monaco-editor-overlaymessage .message a{color:var(--vscode-textLink-foreground)}.monaco-editor .monaco-editor-overlaymessage .message a:hover{color:var(--vscode-textLink-activeForeground)}.monaco-editor.hc-black .monaco-editor-overlaymessage .message,.monaco-editor.hc-light .monaco-editor-overlaymessage .message{border-width:2px}.monaco-editor .monaco-editor-overlaymessage .anchor{width:0!important;height:0!important;border-color:transparent;border-style:solid;z-index:1000;border-width:8px;position:absolute;left:2px}.monaco-editor .monaco-editor-overlaymessage .anchor.top{border-bottom-color:var(--vscode-inputValidation-infoBorder)}.monaco-editor .monaco-editor-overlaymessage .anchor.below{border-top-color:var(--vscode-inputValidation-infoBorder)}.monaco-editor .monaco-editor-overlaymessage:not(.below) .anchor.top,.monaco-editor .monaco-editor-overlaymessage.below .anchor.below{display:none}.monaco-editor .monaco-editor-overlaymessage.below .anchor.top{display:inherit;top:-8px}.post-edit-widget{box-shadow:0 0 8px 2px var(--vscode-widget-shadow);border:1px solid var(--vscode-widget-border, transparent);border-radius:4px;background-color:var(--vscode-editorWidget-background);overflow:hidden}.post-edit-widget .monaco-button{padding:2px;border:none;border-radius:0}.post-edit-widget .monaco-button:hover{background-color:var(--vscode-button-secondaryHoverBackground)!important}.post-edit-widget .monaco-button .codicon{margin:0}@font-face{font-family:codicon;font-display:block;src:url(/assets/codicon-B16ygVZF.ttf) format("truetype")}.codicon[class*=codicon-]{font: 16px/1 codicon;display:inline-block;text-decoration:none;text-rendering:auto;text-align:center;text-transform:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-select:none}.codicon-wrench-subaction{opacity:.5}@keyframes codicon-spin{to{transform:rotate(360deg)}}.codicon-sync.codicon-modifier-spin,.codicon-loading.codicon-modifier-spin,.codicon-gear.codicon-modifier-spin,.codicon-notebook-state-executing.codicon-modifier-spin{animation:codicon-spin 1.5s steps(30) infinite}.codicon-modifier-disabled{opacity:.4}.codicon-loading,.codicon-tree-item-loading:before{animation-duration:1s!important;animation-timing-function:cubic-bezier(.53,.21,.29,.67)!important}.monaco-editor .codicon.codicon-symbol-array,.monaco-workbench .codicon.codicon-symbol-array{color:var(--vscode-symbolIcon-arrayForeground)}.monaco-editor .codicon.codicon-symbol-boolean,.monaco-workbench .codicon.codicon-symbol-boolean{color:var(--vscode-symbolIcon-booleanForeground)}.monaco-editor .codicon.codicon-symbol-class,.monaco-workbench .codicon.codicon-symbol-class{color:var(--vscode-symbolIcon-classForeground)}.monaco-editor .codicon.codicon-symbol-method,.monaco-workbench .codicon.codicon-symbol-method{color:var(--vscode-symbolIcon-methodForeground)}.monaco-editor .codicon.codicon-symbol-color,.monaco-workbench .codicon.codicon-symbol-color{color:var(--vscode-symbolIcon-colorForeground)}.monaco-editor .codicon.codicon-symbol-constant,.monaco-workbench .codicon.codicon-symbol-constant{color:var(--vscode-symbolIcon-constantForeground)}.monaco-editor .codicon.codicon-symbol-constructor,.monaco-workbench .codicon.codicon-symbol-constructor{color:var(--vscode-symbolIcon-constructorForeground)}.monaco-editor .codicon.codicon-symbol-value,.monaco-workbench .codicon.codicon-symbol-value,.monaco-editor .codicon.codicon-symbol-enum,.monaco-workbench .codicon.codicon-symbol-enum{color:var(--vscode-symbolIcon-enumeratorForeground)}.monaco-editor .codicon.codicon-symbol-enum-member,.monaco-workbench .codicon.codicon-symbol-enum-member{color:var(--vscode-symbolIcon-enumeratorMemberForeground)}.monaco-editor .codicon.codicon-symbol-event,.monaco-workbench .codicon.codicon-symbol-event{color:var(--vscode-symbolIcon-eventForeground)}.monaco-editor .codicon.codicon-symbol-field,.monaco-workbench .codicon.codicon-symbol-field{color:var(--vscode-symbolIcon-fieldForeground)}.monaco-editor .codicon.codicon-symbol-file,.monaco-workbench .codicon.codicon-symbol-file{color:var(--vscode-symbolIcon-fileForeground)}.monaco-editor .codicon.codicon-symbol-folder,.monaco-workbench .codicon.codicon-symbol-folder{color:var(--vscode-symbolIcon-folderForeground)}.monaco-editor .codicon.codicon-symbol-function,.monaco-workbench .codicon.codicon-symbol-function{color:var(--vscode-symbolIcon-functionForeground)}.monaco-editor .codicon.codicon-symbol-interface,.monaco-workbench .codicon.codicon-symbol-interface{color:var(--vscode-symbolIcon-interfaceForeground)}.monaco-editor .codicon.codicon-symbol-key,.monaco-workbench .codicon.codicon-symbol-key{color:var(--vscode-symbolIcon-keyForeground)}.monaco-editor .codicon.codicon-symbol-keyword,.monaco-workbench .codicon.codicon-symbol-keyword{color:var(--vscode-symbolIcon-keywordForeground)}.monaco-editor .codicon.codicon-symbol-module,.monaco-workbench .codicon.codicon-symbol-module{color:var(--vscode-symbolIcon-moduleForeground)}.monaco-editor .codicon.codicon-symbol-namespace,.monaco-workbench .codicon.codicon-symbol-namespace{color:var(--vscode-symbolIcon-namespaceForeground)}.monaco-editor .codicon.codicon-symbol-null,.monaco-workbench .codicon.codicon-symbol-null{color:var(--vscode-symbolIcon-nullForeground)}.monaco-editor .codicon.codicon-symbol-number,.monaco-workbench .codicon.codicon-symbol-number{color:var(--vscode-symbolIcon-numberForeground)}.monaco-editor .codicon.codicon-symbol-object,.monaco-workbench .codicon.codicon-symbol-object{color:var(--vscode-symbolIcon-objectForeground)}.monaco-editor .codicon.codicon-symbol-operator,.monaco-workbench .codicon.codicon-symbol-operator{color:var(--vscode-symbolIcon-operatorForeground)}.monaco-editor .codicon.codicon-symbol-package,.monaco-workbench .codicon.codicon-symbol-package{color:var(--vscode-symbolIcon-packageForeground)}.monaco-editor .codicon.codicon-symbol-property,.monaco-workbench .codicon.codicon-symbol-property{color:var(--vscode-symbolIcon-propertyForeground)}.monaco-editor .codicon.codicon-symbol-reference,.monaco-workbench .codicon.codicon-symbol-reference{color:var(--vscode-symbolIcon-referenceForeground)}.monaco-editor .codicon.codicon-symbol-snippet,.monaco-workbench .codicon.codicon-symbol-snippet{color:var(--vscode-symbolIcon-snippetForeground)}.monaco-editor .codicon.codicon-symbol-string,.monaco-workbench .codicon.codicon-symbol-string{color:var(--vscode-symbolIcon-stringForeground)}.monaco-editor .codicon.codicon-symbol-struct,.monaco-workbench .codicon.codicon-symbol-struct{color:var(--vscode-symbolIcon-structForeground)}.monaco-editor .codicon.codicon-symbol-text,.monaco-workbench .codicon.codicon-symbol-text{color:var(--vscode-symbolIcon-textForeground)}.monaco-editor .codicon.codicon-symbol-type-parameter,.monaco-workbench .codicon.codicon-symbol-type-parameter{color:var(--vscode-symbolIcon-typeParameterForeground)}.monaco-editor .codicon.codicon-symbol-unit,.monaco-workbench .codicon.codicon-symbol-unit{color:var(--vscode-symbolIcon-unitForeground)}.monaco-editor .codicon.codicon-symbol-variable,.monaco-workbench .codicon.codicon-symbol-variable{color:var(--vscode-symbolIcon-variableForeground)}.monaco-editor .lightBulbWidget{display:flex;align-items:center;justify-content:center}.monaco-editor .lightBulbWidget:hover{cursor:pointer}.monaco-editor .lightBulbWidget.codicon-light-bulb,.monaco-editor .lightBulbWidget.codicon-lightbulb-sparkle{color:var(--vscode-editorLightBulb-foreground)}.monaco-editor .lightBulbWidget.codicon-lightbulb-autofix,.monaco-editor .lightBulbWidget.codicon-lightbulb-sparkle-autofix{color:var(--vscode-editorLightBulbAutoFix-foreground, var(--vscode-editorLightBulb-foreground))}.monaco-editor .lightBulbWidget.codicon-sparkle-filled{color:var(--vscode-editorLightBulbAi-foreground, var(--vscode-icon-foreground))}.monaco-editor .lightBulbWidget:before{position:relative;z-index:2}.monaco-editor .lightBulbWidget:after{position:absolute;top:0;left:0;content:"";display:block;width:100%;height:100%;opacity:.3;background-color:var(--vscode-editor-background);z-index:1}.action-widget{font-size:13px;min-width:160px;max-width:80vw;z-index:40;display:block;width:100%;border:1px solid var(--vscode-editorWidget-border)!important;border-radius:2px;background-color:var(--vscode-editorWidget-background);color:var(--vscode-editorWidget-foreground)}.context-view-block{position:fixed;cursor:initial;left:0;top:0;width:100%;height:100%;z-index:-1}.context-view-pointerBlock{position:fixed;cursor:initial;left:0;top:0;width:100%;height:100%;z-index:2}.action-widget .monaco-list{-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-select:none;border:none!important;border-width:0!important}.action-widget .monaco-list:focus:before{outline:0!important}.action-widget .monaco-list .monaco-scrollable-element{overflow:visible}.action-widget .monaco-list .monaco-list-row{padding:0 10px;white-space:nowrap;cursor:pointer;touch-action:none;width:100%}.action-widget .monaco-list .monaco-list-row.action.focused:not(.option-disabled){background-color:var(--vscode-quickInputList-focusBackground)!important;color:var(--vscode-quickInputList-focusForeground);outline:1px solid var(--vscode-menu-selectionBorder, transparent);outline-offset:-1px}.action-widget .monaco-list-row.group-header{color:var(--vscode-descriptionForeground)!important;font-weight:600}.action-widget .monaco-list .group-header,.action-widget .monaco-list .option-disabled,.action-widget .monaco-list .option-disabled:before,.action-widget .monaco-list .option-disabled .focused,.action-widget .monaco-list .option-disabled .focused:before{cursor:default!important;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:transparent!important;outline:0 solid!important}.action-widget .monaco-list-row.action{display:flex;gap:6px;align-items:center}.action-widget .monaco-list-row.action.option-disabled,.action-widget .monaco-list:focus .monaco-list-row.focused.action.option-disabled,.action-widget .monaco-list-row.action.option-disabled .codicon,.action-widget .monaco-list:not(.drop-target):not(.dragging) .monaco-list-row:hover:not(.selected):not(.focused).option-disabled{color:var(--vscode-disabledForeground)}.action-widget .monaco-list-row.action:not(.option-disabled) .codicon{color:inherit}.action-widget .monaco-list-row.action .title{flex:1;overflow:hidden;text-overflow:ellipsis}.action-widget .monaco-list-row.action .monaco-keybinding>.monaco-keybinding-key{background-color:var(--vscode-keybindingLabel-background);color:var(--vscode-keybindingLabel-foreground);border-style:solid;border-width:1px;border-radius:3px;border-color:var(--vscode-keybindingLabel-border);border-bottom-color:var(--vscode-keybindingLabel-bottomBorder);box-shadow:inset 0 -1px 0 var(--vscode-widget-shadow)}.action-widget .action-widget-action-bar{background-color:var(--vscode-editorHoverWidget-statusBarBackground);border-top:1px solid var(--vscode-editorHoverWidget-border)}.action-widget .action-widget-action-bar:before{display:block;content:"";width:100%}.action-widget .action-widget-action-bar .actions-container{padding:0 8px}.action-widget-action-bar .action-label{color:var(--vscode-textLink-activeForeground);font-size:12px;line-height:22px;padding:0;pointer-events:all}.action-widget-action-bar .action-item{margin-right:16px;pointer-events:none}.action-widget-action-bar .action-label:hover{background-color:transparent!important}.monaco-action-bar .actions-container.highlight-toggled .action-label.checked{background:var(--vscode-actionBar-toggledBackground)!important}.monaco-editor .codelens-decoration{overflow:hidden;display:inline-block;text-overflow:ellipsis;white-space:nowrap;color:var(--vscode-editorCodeLens-foreground);line-height:var(--vscode-editorCodeLens-lineHeight);font-size:var(--vscode-editorCodeLens-fontSize);padding-right:calc(var(--vscode-editorCodeLens-fontSize)*.5);font-feature-settings:var(--vscode-editorCodeLens-fontFeatureSettings);font-family:var(--vscode-editorCodeLens-fontFamily),var(--vscode-editorCodeLens-fontFamilyDefault)}.monaco-editor .codelens-decoration>span,.monaco-editor .codelens-decoration>a{-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-select:none;white-space:nowrap;vertical-align:sub}.monaco-editor .codelens-decoration>a{text-decoration:none}.monaco-editor .codelens-decoration>a:hover{cursor:pointer;color:var(--vscode-editorLink-activeForeground)!important}.monaco-editor .codelens-decoration>a:hover .codicon{color:var(--vscode-editorLink-activeForeground)!important}.monaco-editor .codelens-decoration .codicon{vertical-align:middle;color:currentColor!important;color:var(--vscode-editorCodeLens-foreground);line-height:var(--vscode-editorCodeLens-lineHeight);font-size:var(--vscode-editorCodeLens-fontSize)}.monaco-editor .codelens-decoration>a:hover .codicon:before{cursor:pointer}@keyframes fadein{0%{opacity:0;visibility:visible}to{opacity:1}}.monaco-editor .codelens-decoration.fadein{animation:fadein .1s linear}.colorpicker-widget{height:190px;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-select:none}.colorpicker-color-decoration,.hc-light .colorpicker-color-decoration{border:solid .1em #000;box-sizing:border-box;margin:.1em .2em 0;width:.8em;height:.8em;line-height:.8em;display:inline-block;cursor:pointer}.hc-black .colorpicker-color-decoration,.vs-dark .colorpicker-color-decoration{border:solid .1em #eee}.colorpicker-header{display:flex;height:24px;position:relative;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAYAAACp8Z5+AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAZdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuMTZEaa/1AAAAHUlEQVQYV2PYvXu3JAi7uLiAMaYAjAGTQBPYLQkAa/0Zef3qRswAAAAASUVORK5CYII=);background-size:9px 9px;image-rendering:-moz-crisp-edges;image-rendering:pixelated}.colorpicker-header .picked-color{width:240px;display:flex;align-items:center;justify-content:center;line-height:24px;cursor:pointer;color:#fff;flex:1;white-space:nowrap;overflow:hidden}.colorpicker-header .picked-color .picked-color-presentation{white-space:nowrap;margin-left:5px;margin-right:5px}.colorpicker-header .picked-color .codicon{color:inherit;font-size:14px}.colorpicker-header .picked-color.light{color:#000}.colorpicker-header .original-color{width:74px;z-index:inherit;cursor:pointer}.standalone-colorpicker{color:var(--vscode-editorHoverWidget-foreground);background-color:var(--vscode-editorHoverWidget-background);border:1px solid var(--vscode-editorHoverWidget-border)}.colorpicker-header.standalone-colorpicker{border-bottom:none}.colorpicker-header .close-button{cursor:pointer;background-color:var(--vscode-editorHoverWidget-background);border-left:1px solid var(--vscode-editorHoverWidget-border)}.colorpicker-header .close-button-inner-div{width:100%;height:100%;text-align:center}.colorpicker-header .close-button-inner-div:hover{background-color:var(--vscode-toolbar-hoverBackground)}.colorpicker-header .close-icon{padding:3px}.colorpicker-body{display:flex;padding:8px;position:relative}.colorpicker-body .saturation-wrap{overflow:hidden;height:150px;position:relative;min-width:220px;flex:1}.colorpicker-body .saturation-box{height:150px;position:absolute}.colorpicker-body .saturation-selection{width:9px;height:9px;margin:-5px 0 0 -5px;border:1px solid rgb(255,255,255);border-radius:100%;box-shadow:0 0 2px #000c;position:absolute}.colorpicker-body .strip{width:25px;height:150px}.colorpicker-body .standalone-strip{width:25px;height:122px}.colorpicker-body .hue-strip{position:relative;margin-left:8px;cursor:-webkit-grab;cursor:grab;background:linear-gradient(to bottom,red,#ff0 17%,#0f0 33%,#0ff,#00f 67%,#f0f 83%,red)}.colorpicker-body .opacity-strip{position:relative;margin-left:8px;cursor:-webkit-grab;cursor:grab;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAYAAACp8Z5+AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAZdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuMTZEaa/1AAAAHUlEQVQYV2PYvXu3JAi7uLiAMaYAjAGTQBPYLQkAa/0Zef3qRswAAAAASUVORK5CYII=);background-size:9px 9px;image-rendering:-moz-crisp-edges;image-rendering:pixelated}.colorpicker-body .strip.grabbing{cursor:-webkit-grabbing;cursor:grabbing}.colorpicker-body .slider{position:absolute;top:0;left:-2px;width:calc(100% + 4px);height:4px;box-sizing:border-box;border:1px solid rgba(255,255,255,.71);box-shadow:0 0 1px #000000d9}.colorpicker-body .strip .overlay{height:150px;pointer-events:none}.colorpicker-body .standalone-strip .standalone-overlay{height:122px;pointer-events:none}.standalone-colorpicker-body{display:block;border:1px solid transparent;border-bottom:1px solid var(--vscode-editorHoverWidget-border);overflow:hidden}.colorpicker-body .insert-button{position:absolute;height:20px;width:58px;padding:0;right:8px;bottom:8px;background:var(--vscode-button-background);color:var(--vscode-button-foreground);border-radius:2px;border:none;cursor:pointer}.colorpicker-body .insert-button:hover{background:var(--vscode-button-hoverBackground)}.monaco-editor .inlineSuggestionsHints.withBorder{z-index:39;color:var(--vscode-editorHoverWidget-foreground);background-color:var(--vscode-editorHoverWidget-background);border:1px solid var(--vscode-editorHoverWidget-border)}.monaco-editor .inlineSuggestionsHints a,.monaco-editor .inlineSuggestionsHints a:hover{color:var(--vscode-foreground)}.monaco-editor .inlineSuggestionsHints .keybinding{display:flex;margin-left:4px;opacity:.6}.monaco-editor .inlineSuggestionsHints .keybinding .monaco-keybinding-key{font-size:8px;padding:2px 3px}.monaco-editor .inlineSuggestionsHints .availableSuggestionCount a{display:flex;min-width:19px;justify-content:center}.monaco-editor .inlineSuggestionStatusBarItemLabel{margin-right:2px}.monaco-editor .peekview-widget .head{box-sizing:border-box;display:flex;justify-content:space-between;flex-wrap:nowrap}.monaco-editor .peekview-widget .head .peekview-title{display:flex;align-items:baseline;font-size:13px;margin-left:20px;min-width:0;text-overflow:ellipsis;overflow:hidden}.monaco-editor .peekview-widget .head .peekview-title.clickable{cursor:pointer}.monaco-editor .peekview-widget .head .peekview-title .dirname:not(:empty){font-size:.9em;margin-left:.5em}.monaco-editor .peekview-widget .head .peekview-title .meta{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.monaco-editor .peekview-widget .head .peekview-title .dirname,.monaco-editor .peekview-widget .head .peekview-title .filename{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.monaco-editor .peekview-widget .head .peekview-title .meta:not(:empty):before{content:"-";padding:0 .3em}.monaco-editor .peekview-widget .head .peekview-actions{flex:1;text-align:right;padding-right:2px}.monaco-editor .peekview-widget .head .peekview-actions>.monaco-action-bar{display:inline-block}.monaco-editor .peekview-widget .head .peekview-actions>.monaco-action-bar,.monaco-editor .peekview-widget .head .peekview-actions>.monaco-action-bar>.actions-container{height:100%}.monaco-editor .peekview-widget>.body{border-top:1px solid;position:relative}.monaco-editor .peekview-widget .head .peekview-title .codicon{margin-right:4px;align-self:center}.monaco-editor .peekview-widget .monaco-list .monaco-list-row.focused .codicon{color:inherit!important}.monaco-editor .zone-widget{position:absolute;z-index:10}.monaco-editor .zone-widget .zone-widget-container{border-top-style:solid;border-bottom-style:solid;border-top-width:0;border-bottom-width:0;position:relative}.monaco-editor .zone-widget .zone-widget-container.reference-zone-widget{border-top-width:1px;border-bottom-width:1px}.monaco-editor .reference-zone-widget .inline{display:inline-block;vertical-align:top}.monaco-editor .reference-zone-widget .messages{height:100%;width:100%;text-align:center;padding:3em 0}.monaco-editor .reference-zone-widget .ref-tree{line-height:23px;background-color:var(--vscode-peekViewResult-background);color:var(--vscode-peekViewResult-lineForeground)}.monaco-editor .reference-zone-widget .ref-tree .reference{text-overflow:ellipsis;overflow:hidden}.monaco-editor .reference-zone-widget .ref-tree .reference-file{display:inline-flex;width:100%;height:100%;color:var(--vscode-peekViewResult-fileForeground)}.monaco-editor .reference-zone-widget .ref-tree .monaco-list:focus .selected .reference-file{color:inherit!important}.monaco-editor .reference-zone-widget .ref-tree .monaco-list:focus .monaco-list-rows>.monaco-list-row.selected:not(.highlighted){background-color:var(--vscode-peekViewResult-selectionBackground);color:var(--vscode-peekViewResult-selectionForeground)!important}.monaco-editor .reference-zone-widget .ref-tree .reference-file .count{margin-right:12px;margin-left:auto}.monaco-editor .reference-zone-widget .ref-tree .referenceMatch .highlight{background-color:var(--vscode-peekViewResult-matchHighlightBackground)}.monaco-editor .reference-zone-widget .preview .reference-decoration{background-color:var(--vscode-peekViewEditor-matchHighlightBackground);border:2px solid var(--vscode-peekViewEditor-matchHighlightBorder);box-sizing:border-box}.monaco-editor .reference-zone-widget .preview .monaco-editor .monaco-editor-background,.monaco-editor .reference-zone-widget .preview .monaco-editor .inputarea.ime-input{background-color:var(--vscode-peekViewEditor-background)}.monaco-editor .reference-zone-widget .preview .monaco-editor .margin{background-color:var(--vscode-peekViewEditorGutter-background)}.monaco-editor.hc-black .reference-zone-widget .ref-tree .reference-file,.monaco-editor.hc-light .reference-zone-widget .ref-tree .reference-file{font-weight:700}.monaco-editor.hc-black .reference-zone-widget .ref-tree .referenceMatch .highlight,.monaco-editor.hc-light .reference-zone-widget .ref-tree .referenceMatch .highlight{border:1px dotted var(--vscode-contrastActiveBorder, transparent);box-sizing:border-box}.monaco-editor .hoverHighlight{background-color:var(--vscode-editor-hoverHighlightBackground)}.monaco-editor .monaco-hover{color:var(--vscode-editorHoverWidget-foreground);background-color:var(--vscode-editorHoverWidget-background);border:1px solid var(--vscode-editorHoverWidget-border);border-radius:3px}.monaco-editor .monaco-hover a{color:var(--vscode-textLink-foreground)}.monaco-editor .monaco-hover a:hover{color:var(--vscode-textLink-activeForeground)}.monaco-editor .monaco-hover .hover-row{display:flex}.monaco-editor .monaco-hover .hover-row .hover-row-contents{min-width:0;display:flex;flex-direction:column}.monaco-editor .monaco-hover .hover-row .verbosity-actions{display:flex;flex-direction:column;padding-left:5px;padding-right:5px;justify-content:end;border-right:1px solid var(--vscode-editorHoverWidget-border)}.monaco-editor .monaco-hover .hover-row .verbosity-actions .codicon{cursor:pointer;font-size:11px}.monaco-editor .monaco-hover .hover-row .verbosity-actions .codicon.enabled{color:var(--vscode-textLink-foreground)}.monaco-editor .monaco-hover .hover-row .verbosity-actions .codicon.disabled{opacity:.6}.monaco-editor .monaco-hover .hover-row .actions{background-color:var(--vscode-editorHoverWidget-statusBarBackground)}.monaco-editor .monaco-hover code{background-color:var(--vscode-textCodeBlock-background)}.monaco-editor.vs .dnd-target,.monaco-editor.hc-light .dnd-target{border-right:2px dotted black;color:#fff}.monaco-editor.vs-dark .dnd-target{border-right:2px dotted #AEAFAD;color:#51504f}.monaco-editor.hc-black .dnd-target{border-right:2px dotted #fff;color:#000}.monaco-editor.mouse-default .view-lines,.monaco-editor.vs-dark.mac.mouse-default .view-lines,.monaco-editor.hc-black.mac.mouse-default .view-lines,.monaco-editor.hc-light.mac.mouse-default .view-lines{cursor:default}.monaco-editor.mouse-copy .view-lines,.monaco-editor.vs-dark.mac.mouse-copy .view-lines,.monaco-editor.hc-black.mac.mouse-copy .view-lines,.monaco-editor.hc-light.mac.mouse-copy .view-lines{cursor:copy}.monaco-editor .findOptionsWidget{background-color:var(--vscode-editorWidget-background);color:var(--vscode-editorWidget-foreground);box-shadow:0 0 8px 2px var(--vscode-widget-shadow);border:2px solid var(--vscode-contrastBorder)}.monaco-editor .find-widget{position:absolute;z-index:35;height:33px;overflow:hidden;line-height:19px;transition:transform .2s linear;padding:0 4px;box-sizing:border-box;transform:translateY(calc(-100% - 10px));box-shadow:0 0 8px 2px var(--vscode-widget-shadow);color:var(--vscode-editorWidget-foreground);border-left:1px solid var(--vscode-widget-border);border-right:1px solid var(--vscode-widget-border);border-bottom:1px solid var(--vscode-widget-border);border-bottom-left-radius:4px;border-bottom-right-radius:4px;background-color:var(--vscode-editorWidget-background)}.monaco-workbench.reduce-motion .monaco-editor .find-widget{transition:transform 0ms linear}.monaco-editor .find-widget textarea{margin:0}.monaco-editor .find-widget.hiddenEditor{display:none}.monaco-editor .find-widget.replaceToggled>.replace-part{display:flex}.monaco-editor .find-widget.visible{transform:translateY(0)}.monaco-editor .find-widget .monaco-inputbox.synthetic-focus{outline:1px solid -webkit-focus-ring-color;outline-offset:-1px;outline-color:var(--vscode-focusBorder)}.monaco-editor .find-widget .monaco-inputbox .input{background-color:transparent;min-height:0}.monaco-editor .find-widget .monaco-findInput .input{font-size:13px}.monaco-editor .find-widget>.find-part,.monaco-editor .find-widget>.replace-part{margin:3px 25px 0 17px;font-size:12px;display:flex}.monaco-editor .find-widget>.find-part .monaco-inputbox,.monaco-editor .find-widget>.replace-part .monaco-inputbox{min-height:25px}.monaco-editor .find-widget>.replace-part .monaco-inputbox>.ibwrapper>.mirror{padding-right:22px}.monaco-editor .find-widget>.find-part .monaco-inputbox>.ibwrapper>.input,.monaco-editor .find-widget>.find-part .monaco-inputbox>.ibwrapper>.mirror,.monaco-editor .find-widget>.replace-part .monaco-inputbox>.ibwrapper>.input,.monaco-editor .find-widget>.replace-part .monaco-inputbox>.ibwrapper>.mirror{padding-top:2px;padding-bottom:2px}.monaco-editor .find-widget>.find-part .find-actions{height:25px;display:flex;align-items:center}.monaco-editor .find-widget>.replace-part .replace-actions{height:25px;display:flex;align-items:center}.monaco-editor .find-widget .monaco-findInput{vertical-align:middle;display:flex;flex:1}.monaco-editor .find-widget .monaco-findInput .monaco-scrollable-element{width:100%}.monaco-editor .find-widget .monaco-findInput .monaco-scrollable-element .scrollbar.vertical{opacity:0}.monaco-editor .find-widget .matchesCount{display:flex;flex:initial;margin:0 0 0 3px;padding:2px 0 0 2px;height:25px;vertical-align:middle;box-sizing:border-box;text-align:center;line-height:23px}.monaco-editor .find-widget .button{width:16px;height:16px;padding:3px;border-radius:5px;flex:initial;margin-left:3px;background-position:center center;background-repeat:no-repeat;cursor:pointer;display:flex;align-items:center;justify-content:center}.monaco-editor .find-widget .codicon-find-selection{width:22px;height:22px;padding:3px;border-radius:5px}.monaco-editor .find-widget .button.left{margin-left:0;margin-right:3px}.monaco-editor .find-widget .button.wide{width:auto;padding:1px 6px;top:-1px}.monaco-editor .find-widget .button.toggle{position:absolute;top:0;left:3px;width:18px;height:100%;border-radius:0;box-sizing:border-box}.monaco-editor .find-widget .button.toggle.disabled{display:none}.monaco-editor .find-widget .disabled{color:var(--vscode-disabledForeground);cursor:default}.monaco-editor .find-widget>.replace-part{display:none}.monaco-editor .find-widget>.replace-part>.monaco-findInput{position:relative;display:flex;vertical-align:middle;flex:auto;flex-grow:0;flex-shrink:0}.monaco-editor .find-widget>.replace-part>.monaco-findInput>.controls{position:absolute;top:3px;right:2px}.monaco-editor .find-widget.reduced-find-widget .matchesCount{display:none}.monaco-editor .find-widget.narrow-find-widget{max-width:257px!important}.monaco-editor .find-widget.collapsed-find-widget{max-width:170px!important}.monaco-editor .find-widget.collapsed-find-widget .button.previous,.monaco-editor .find-widget.collapsed-find-widget .button.next,.monaco-editor .find-widget.collapsed-find-widget .button.replace,.monaco-editor .find-widget.collapsed-find-widget .button.replace-all,.monaco-editor .find-widget.collapsed-find-widget>.find-part .monaco-findInput .controls{display:none}.monaco-editor .find-widget.no-results .matchesCount{color:var(--vscode-errorForeground)}.monaco-editor .findMatch{animation-duration:0;animation-name:inherit!important;background-color:var(--vscode-editor-findMatchHighlightBackground)}.monaco-editor .currentFindMatch{background-color:var(--vscode-editor-findMatchBackground);border:2px solid var(--vscode-editor-findMatchBorder);padding:1px;box-sizing:border-box}.monaco-editor .findScope{background-color:var(--vscode-editor-findRangeHighlightBackground)}.monaco-editor .find-widget .monaco-sash{left:0!important;background-color:var(--vscode-editorWidget-resizeBorder, var(--vscode-editorWidget-border))}.monaco-editor.hc-black .find-widget .button:before{position:relative;top:1px;left:2px}.monaco-editor .find-widget .button:not(.disabled):hover,.monaco-editor .find-widget .codicon-find-selection:hover{background-color:var(--vscode-toolbar-hoverBackground)!important}.monaco-editor.findMatch{background-color:var(--vscode-editor-findMatchHighlightBackground)}.monaco-editor.currentFindMatch{background-color:var(--vscode-editor-findMatchBackground)}.monaco-editor.findScope{background-color:var(--vscode-editor-findRangeHighlightBackground)}.monaco-editor.findMatch{background-color:var(--vscode-editorWidget-background)}.monaco-editor .find-widget>.button.codicon-widget-close{position:absolute;top:5px;right:4px}.monaco-editor .margin-view-overlays .codicon-folding-manual-collapsed,.monaco-editor .margin-view-overlays .codicon-folding-manual-expanded,.monaco-editor .margin-view-overlays .codicon-folding-expanded,.monaco-editor .margin-view-overlays .codicon-folding-collapsed{cursor:pointer;opacity:0;transition:opacity .5s;display:flex;align-items:center;justify-content:center;font-size:140%;margin-left:2px}.monaco-workbench.reduce-motion .monaco-editor .margin-view-overlays .codicon-folding-manual-collapsed,.monaco-workbench.reduce-motion .monaco-editor .margin-view-overlays .codicon-folding-manual-expanded,.monaco-workbench.reduce-motion .monaco-editor .margin-view-overlays .codicon-folding-expanded,.monaco-workbench.reduce-motion .monaco-editor .margin-view-overlays .codicon-folding-collapsed{transition:initial}.monaco-editor .margin-view-overlays:hover .codicon,.monaco-editor .margin-view-overlays .codicon.codicon-folding-collapsed,.monaco-editor .margin-view-overlays .codicon.codicon-folding-manual-collapsed,.monaco-editor .margin-view-overlays .codicon.alwaysShowFoldIcons{opacity:1}.monaco-editor .inline-folded:after{color:gray;margin:.1em .2em 0;content:"⋯";display:inline;line-height:1em;cursor:pointer}.monaco-editor .folded-background{background-color:var(--vscode-editor-foldBackground)}.monaco-editor .cldr.codicon.codicon-folding-expanded,.monaco-editor .cldr.codicon.codicon-folding-collapsed,.monaco-editor .cldr.codicon.codicon-folding-manual-expanded,.monaco-editor .cldr.codicon.codicon-folding-manual-collapsed{color:var(--vscode-editorGutter-foldingControlForeground)!important}.monaco-editor .suggest-preview-additional-widget{white-space:nowrap}.monaco-editor .suggest-preview-additional-widget .content-spacer{color:transparent;white-space:pre}.monaco-editor .suggest-preview-additional-widget .button{display:inline-block;cursor:pointer;text-decoration:underline;text-underline-position:under}.monaco-editor .ghost-text-hidden{opacity:0;font-size:0}.monaco-editor .ghost-text-decoration,.monaco-editor .suggest-preview-text .ghost-text{font-style:italic}.monaco-editor .ghost-text-decoration,.monaco-editor .ghost-text-decoration-preview,.monaco-editor .suggest-preview-text .ghost-text{color:var(--vscode-editorGhostText-foreground)!important;background-color:var(--vscode-editorGhostText-background);border:1px solid var(--vscode-editorGhostText-border)}.monaco-editor .snippet-placeholder{min-width:2px;outline-style:solid;outline-width:1px;background-color:var(--vscode-editor-snippetTabstopHighlightBackground, transparent);outline-color:var(--vscode-editor-snippetTabstopHighlightBorder, transparent)}.monaco-editor .finish-snippet-placeholder{outline-style:solid;outline-width:1px;background-color:var(--vscode-editor-snippetFinalTabstopHighlightBackground, transparent);outline-color:var(--vscode-editor-snippetFinalTabstopHighlightBorder, transparent)}.monaco-editor .suggest-widget{width:430px;z-index:40;display:flex;flex-direction:column;border-radius:3px}.monaco-editor .suggest-widget.message{flex-direction:row;align-items:center}.monaco-editor .suggest-widget,.monaco-editor .suggest-details{flex:0 1 auto;width:100%;border-style:solid;border-width:1px;border-color:var(--vscode-editorSuggestWidget-border);background-color:var(--vscode-editorSuggestWidget-background)}.monaco-editor.hc-black .suggest-widget,.monaco-editor.hc-black .suggest-details,.monaco-editor.hc-light .suggest-widget,.monaco-editor.hc-light .suggest-details{border-width:2px}.monaco-editor .suggest-widget .suggest-status-bar{box-sizing:border-box;display:none;flex-flow:row nowrap;justify-content:space-between;width:100%;font-size:80%;padding:0 4px;border-top:1px solid var(--vscode-editorSuggestWidget-border);overflow:hidden}.monaco-editor .suggest-widget.with-status-bar .suggest-status-bar{display:flex}.monaco-editor .suggest-widget .suggest-status-bar .left{padding-right:8px}.monaco-editor .suggest-widget.with-status-bar .suggest-status-bar .action-label{color:var(--vscode-editorSuggestWidgetStatus-foreground)}.monaco-editor .suggest-widget.with-status-bar .suggest-status-bar .action-item:not(:last-of-type) .action-label{margin-right:0}.monaco-editor .suggest-widget.with-status-bar .suggest-status-bar .action-item:not(:last-of-type) .action-label:after{content:", ";margin-right:.3em}.monaco-editor .suggest-widget.with-status-bar .monaco-list .monaco-list-row>.contents>.main>.right>.readMore,.monaco-editor .suggest-widget.with-status-bar .monaco-list .monaco-list-row.focused.string-label>.contents>.main>.right>.readMore{display:none}.monaco-editor .suggest-widget.with-status-bar:not(.docs-side) .monaco-list .monaco-list-row:hover>.contents>.main>.right.can-expand-details>.details-label{width:100%}.monaco-editor .suggest-widget>.message{padding-left:22px}.monaco-editor .suggest-widget>.tree{height:100%;width:100%}.monaco-editor .suggest-widget .monaco-list{-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-select:none}.monaco-editor .suggest-widget .monaco-list .monaco-list-row{display:flex;-mox-box-sizing:border-box;box-sizing:border-box;padding-right:10px;background-repeat:no-repeat;background-position:2px 2px;white-space:nowrap;cursor:pointer;touch-action:none}.monaco-editor .suggest-widget .monaco-list .monaco-list-row.focused{color:var(--vscode-editorSuggestWidget-selectedForeground)}.monaco-editor .suggest-widget .monaco-list .monaco-list-row.focused .codicon{color:var(--vscode-editorSuggestWidget-selectedIconForeground)}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents{flex:1;height:100%;overflow:hidden;padding-left:2px}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main{display:flex;overflow:hidden;text-overflow:ellipsis;white-space:pre;justify-content:space-between}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.left,.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right{display:flex}.monaco-editor .suggest-widget .monaco-list .monaco-list-row:not(.focused)>.contents>.main .monaco-icon-label{color:var(--vscode-editorSuggestWidget-foreground)}.monaco-editor .suggest-widget:not(.frozen) .monaco-highlighted-label .highlight{font-weight:700}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main .monaco-highlighted-label .highlight{color:var(--vscode-editorSuggestWidget-highlightForeground)}.monaco-editor .suggest-widget .monaco-list .monaco-list-row.focused>.contents>.main .monaco-highlighted-label .highlight{color:var(--vscode-editorSuggestWidget-focusHighlightForeground)}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.header>.codicon-close,.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.readMore:before{color:inherit;opacity:1;font-size:14px;cursor:pointer}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.header>.codicon-close{position:absolute;top:6px;right:2px}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.header>.codicon-close:hover,.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.readMore:hover{opacity:1}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.details-label{opacity:.7}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.left>.signature-label{overflow:hidden;text-overflow:ellipsis;opacity:.6}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.left>.qualifier-label{margin-left:12px;opacity:.4;font-size:85%;line-height:initial;text-overflow:ellipsis;overflow:hidden;align-self:center}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.details-label{font-size:85%;margin-left:1.1em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.details-label>.monaco-tokenized-source{display:inline}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.details-label{display:none}.monaco-editor .suggest-widget:not(.shows-details) .monaco-list .monaco-list-row.focused>.contents>.main>.right>.details-label{display:inline}.monaco-editor .suggest-widget .monaco-list .monaco-list-row:not(.string-label)>.contents>.main>.right>.details-label,.monaco-editor .suggest-widget.docs-side .monaco-list .monaco-list-row.focused:not(.string-label)>.contents>.main>.right>.details-label{display:inline}.monaco-editor .suggest-widget:not(.docs-side) .monaco-list .monaco-list-row.focused:hover>.contents>.main>.right.can-expand-details>.details-label{width:calc(100% - 26px)}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.left{flex-shrink:1;flex-grow:1;overflow:hidden}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.left>.monaco-icon-label{flex-shrink:0}.monaco-editor .suggest-widget .monaco-list .monaco-list-row:not(.string-label)>.contents>.main>.left>.monaco-icon-label{max-width:100%}.monaco-editor .suggest-widget .monaco-list .monaco-list-row.string-label>.contents>.main>.left>.monaco-icon-label{flex-shrink:1}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right{overflow:hidden;flex-shrink:4;max-width:70%}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.readMore{display:inline-block;position:absolute;right:10px;width:18px;height:18px;visibility:hidden}.monaco-editor .suggest-widget.docs-side .monaco-list .monaco-list-row>.contents>.main>.right>.readMore{display:none!important}.monaco-editor .suggest-widget .monaco-list .monaco-list-row.string-label>.contents>.main>.right>.readMore{display:none}.monaco-editor .suggest-widget .monaco-list .monaco-list-row.focused.string-label>.contents>.main>.right>.readMore{display:inline-block}.monaco-editor .suggest-widget .monaco-list .monaco-list-row.focused:hover>.contents>.main>.right>.readMore{visibility:visible}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .monaco-icon-label.deprecated{opacity:.66;text-decoration:unset}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .monaco-icon-label.deprecated>.monaco-icon-label-container>.monaco-icon-name-container{text-decoration:line-through}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .monaco-icon-label:before{height:100%}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .icon{display:block;height:16px;width:16px;margin-left:2px;background-repeat:no-repeat;background-size:80%;background-position:center}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .icon.hide{display:none}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .suggest-icon{display:flex;align-items:center;margin-right:4px}.monaco-editor .suggest-widget.no-icons .monaco-list .monaco-list-row .icon,.monaco-editor .suggest-widget.no-icons .monaco-list .monaco-list-row .suggest-icon:before{display:none}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .icon.customcolor .colorspan{margin:0 0 0 .3em;border:.1em solid #000;width:.7em;height:.7em;display:inline-block}.monaco-editor .suggest-details-container{z-index:41}.monaco-editor .suggest-details{display:flex;flex-direction:column;cursor:default;color:var(--vscode-editorSuggestWidget-foreground)}.monaco-editor .suggest-details.focused{border-color:var(--vscode-focusBorder)}.monaco-editor .suggest-details a{color:var(--vscode-textLink-foreground)}.monaco-editor .suggest-details a:hover{color:var(--vscode-textLink-activeForeground)}.monaco-editor .suggest-details code{background-color:var(--vscode-textCodeBlock-background)}.monaco-editor .suggest-details.no-docs{display:none}.monaco-editor .suggest-details>.monaco-scrollable-element{flex:1}.monaco-editor .suggest-details>.monaco-scrollable-element>.body{box-sizing:border-box;height:100%;width:100%}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.header>.type{flex:2;overflow:hidden;text-overflow:ellipsis;opacity:.7;white-space:pre;margin:0 24px 0 0;padding:4px 0 12px 5px}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.header>.type.auto-wrap{white-space:normal;word-break:break-all}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs{margin:0;padding:4px 5px;white-space:pre-wrap}.monaco-editor .suggest-details.no-type>.monaco-scrollable-element>.body>.docs{margin-right:24px;overflow:hidden}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs.markdown-docs{padding:0;white-space:initial;min-height:calc(1rem + 8px)}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs.markdown-docs>div,.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs.markdown-docs>span:not(:empty){padding:4px 5px}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs.markdown-docs>div>p:first-child{margin-top:0}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs.markdown-docs>div>p:last-child{margin-bottom:0}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs.markdown-docs .monaco-tokenized-source{white-space:pre}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs .code{white-space:pre-wrap;word-wrap:break-word}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs.markdown-docs .codicon{vertical-align:sub}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>p:empty{display:none}.monaco-editor .suggest-details code{border-radius:3px;padding:0 .4em}.monaco-editor .suggest-details ul,.monaco-editor .suggest-details ol{padding-left:20px}.monaco-editor .suggest-details p code{font-family:var(--monaco-monospace-font)}.monaco-editor .goto-definition-link{text-decoration:underline;cursor:pointer;color:var(--vscode-editorLink-activeForeground)!important}.monaco-editor .peekview-widget .head .peekview-title .severity-icon{display:inline-block;vertical-align:text-top;margin-right:4px}.monaco-editor .marker-widget{text-overflow:ellipsis;white-space:nowrap}.monaco-editor .marker-widget>.stale{opacity:.6;font-style:italic}.monaco-editor .marker-widget .title{display:inline-block;padding-right:5px}.monaco-editor .marker-widget .descriptioncontainer{position:absolute;white-space:pre;-moz-user-select:text;-ms-user-select:text;user-select:text;-webkit-user-select:text;padding:8px 12px 0 20px}.monaco-editor .marker-widget .descriptioncontainer .message{display:flex;flex-direction:column}.monaco-editor .marker-widget .descriptioncontainer .message .details{padding-left:6px}.monaco-editor .marker-widget .descriptioncontainer .message .source,.monaco-editor .marker-widget .descriptioncontainer .message span.code{opacity:.6}.monaco-editor .marker-widget .descriptioncontainer .message a.code-link{opacity:.6;color:inherit}.monaco-editor .marker-widget .descriptioncontainer .message a.code-link:before{content:"("}.monaco-editor .marker-widget .descriptioncontainer .message a.code-link:after{content:")"}.monaco-editor .marker-widget .descriptioncontainer .message a.code-link>span{text-decoration:underline;border-bottom:1px solid transparent;text-underline-position:under;color:var(--vscode-textLink-activeForeground)}.monaco-editor .marker-widget .descriptioncontainer .filename{cursor:pointer;color:var(--vscode-textLink-activeForeground)}.monaco-editor .zone-widget .codicon.codicon-error,.markers-panel .marker-icon.error,.markers-panel .marker-icon .codicon.codicon-error,.text-search-provider-messages .providerMessage .codicon.codicon-error,.extensions-viewlet>.extensions .codicon.codicon-error,.extension-editor .codicon.codicon-error,.preferences-editor .codicon.codicon-error{color:var(--vscode-problemsErrorIcon-foreground)}.monaco-editor .zone-widget .codicon.codicon-warning,.markers-panel .marker-icon.warning,.markers-panel .marker-icon .codicon.codicon-warning,.text-search-provider-messages .providerMessage .codicon.codicon-warning,.extensions-viewlet>.extensions .codicon.codicon-warning,.extension-editor .codicon.codicon-warning,.preferences-editor .codicon.codicon-warning{color:var(--vscode-problemsWarningIcon-foreground)}.monaco-editor .zone-widget .codicon.codicon-info,.markers-panel .marker-icon.info,.markers-panel .marker-icon .codicon.codicon-info,.text-search-provider-messages .providerMessage .codicon.codicon-info,.extensions-viewlet>.extensions .codicon.codicon-info,.extension-editor .codicon.codicon-info,.preferences-editor .codicon.codicon-info{color:var(--vscode-problemsInfoIcon-foreground)}.monaco-editor.vs .valueSetReplacement{outline:solid 2px var(--vscode-editorBracketMatch-border)}.monaco-editor .linked-editing-decoration{background-color:var(--vscode-editor-linkedEditingBackground);min-width:1px}.monaco-editor .detected-link,.monaco-editor .detected-link-active{text-decoration:underline;text-underline-position:under}.monaco-editor .detected-link-active{cursor:pointer;color:var(--vscode-editorLink-activeForeground)!important}.monaco-editor .focused .selectionHighlight{background-color:var(--vscode-editor-selectionHighlightBackground);box-sizing:border-box;border:1px solid var(--vscode-editor-selectionHighlightBorder)}.monaco-editor.hc-black .focused .selectionHighlight,.monaco-editor.hc-light .focused .selectionHighlight{border-style:dotted}.monaco-editor .wordHighlight{background-color:var(--vscode-editor-wordHighlightBackground);box-sizing:border-box;border:1px solid var(--vscode-editor-wordHighlightBorder)}.monaco-editor.hc-black .wordHighlight,.monaco-editor.hc-light .wordHighlight{border-style:dotted}.monaco-editor .wordHighlightStrong{background-color:var(--vscode-editor-wordHighlightStrongBackground);box-sizing:border-box;border:1px solid var(--vscode-editor-wordHighlightStrongBorder)}.monaco-editor.hc-black .wordHighlightStrong,.monaco-editor.hc-light .wordHighlightStrong{border-style:dotted}.monaco-editor .wordHighlightText{background-color:var(--vscode-editor-wordHighlightTextBackground);box-sizing:border-box;border:1px solid var(--vscode-editor-wordHighlightTextBorder)}.monaco-editor.hc-black .wordHighlightText,.monaco-editor.hc-light .wordHighlightText{border-style:dotted}.monaco-editor .inline-edit-remove{background-color:var(--vscode-editorGhostText-background);font-style:italic;text-decoration:line-through}.monaco-editor .inline-edit-remove.backgroundColoring{background-color:var(--vscode-diffEditor-removedLineBackground)}.monaco-editor .inline-edit-hidden{opacity:0;font-size:0}.monaco-editor .inline-edit-decoration,.monaco-editor .suggest-preview-text .inline-edit{font-style:italic}.monaco-editor .inline-completion-text-to-replace{text-decoration:underline;text-underline-position:under}.monaco-editor .inline-edit-decoration,.monaco-editor .inline-edit-decoration-preview,.monaco-editor .suggest-preview-text .inline-edit{color:var(--vscode-editorGhostText-foreground)!important;background-color:var(--vscode-editorGhostText-background);border:1px solid var(--vscode-editorGhostText-border)}.monaco-editor .inlineEditHints.withBorder{z-index:39;color:var(--vscode-editorHoverWidget-foreground);background-color:var(--vscode-editorHoverWidget-background);border:1px solid var(--vscode-editorHoverWidget-border)}.monaco-editor .inlineEditHints a,.monaco-editor .inlineEditHints a:hover{color:var(--vscode-foreground)}.monaco-editor .inlineEditHints .keybinding{display:flex;margin-left:4px;opacity:.6}.monaco-editor .inlineEditHints .keybinding .monaco-keybinding-key{font-size:8px;padding:2px 3px}.monaco-editor .inlineEditStatusBarItemLabel{margin-right:2px}.monaco-editor .parameter-hints-widget{z-index:39;display:flex;flex-direction:column;line-height:1.5em;cursor:default;color:var(--vscode-editorHoverWidget-foreground);background-color:var(--vscode-editorHoverWidget-background);border:1px solid var(--vscode-editorHoverWidget-border)}.hc-black .monaco-editor .parameter-hints-widget,.hc-light .monaco-editor .parameter-hints-widget{border-width:2px}.monaco-editor .parameter-hints-widget>.phwrapper{max-width:440px;display:flex;flex-direction:row}.monaco-editor .parameter-hints-widget.multiple{min-height:3.3em;padding:0}.monaco-editor .parameter-hints-widget.multiple .body:before{content:"";display:block;height:100%;position:absolute;opacity:.5;border-left:1px solid var(--vscode-editorHoverWidget-border)}.monaco-editor .parameter-hints-widget p,.monaco-editor .parameter-hints-widget ul{margin:8px 0}.monaco-editor .parameter-hints-widget .monaco-scrollable-element,.monaco-editor .parameter-hints-widget .body{display:flex;flex:1;flex-direction:column;min-height:100%}.monaco-editor .parameter-hints-widget .signature{padding:4px 5px;position:relative}.monaco-editor .parameter-hints-widget .signature.has-docs:after{content:"";display:block;position:absolute;left:0;width:100%;padding-top:4px;opacity:.5;border-bottom:1px solid var(--vscode-editorHoverWidget-border)}.monaco-editor .parameter-hints-widget .docs{padding:0 10px 0 5px;white-space:pre-wrap}.monaco-editor .parameter-hints-widget .docs.empty{display:none}.monaco-editor .parameter-hints-widget .docs a{color:var(--vscode-textLink-foreground)}.monaco-editor .parameter-hints-widget .docs a:hover{color:var(--vscode-textLink-activeForeground);cursor:pointer}.monaco-editor .parameter-hints-widget .docs .markdown-docs{white-space:initial}.monaco-editor .parameter-hints-widget .docs code{font-family:var(--monaco-monospace-font);border-radius:3px;padding:0 .4em;background-color:var(--vscode-textCodeBlock-background)}.monaco-editor .parameter-hints-widget .docs .monaco-tokenized-source,.monaco-editor .parameter-hints-widget .docs .code{white-space:pre-wrap}.monaco-editor .parameter-hints-widget .controls{display:none;flex-direction:column;align-items:center;min-width:22px;justify-content:flex-end}.monaco-editor .parameter-hints-widget.multiple .controls{display:flex;padding:0 2px}.monaco-editor .parameter-hints-widget.multiple .button{width:16px;height:16px;background-repeat:no-repeat;cursor:pointer}.monaco-editor .parameter-hints-widget .button.previous{bottom:24px}.monaco-editor .parameter-hints-widget .overloads{text-align:center;height:12px;line-height:12px;font-family:var(--monaco-monospace-font)}.monaco-editor .parameter-hints-widget .signature .parameter.active{color:var(--vscode-editorHoverWidget-highlightForeground);font-weight:700}.monaco-editor .parameter-hints-widget .documentation-parameter>.parameter{font-weight:700;margin-right:.5em}.monaco-editor .rename-box{z-index:100;color:inherit;border-radius:4px}.monaco-editor .rename-box.preview{padding:4px 4px 0}.monaco-editor .rename-box .rename-input-with-button{padding:3px;border-radius:2px;width:calc(100% - 8px)}.monaco-editor .rename-box .rename-input{width:calc(100% - 8px);padding:0}.monaco-editor .rename-box .rename-input:focus{outline:none}.monaco-editor .rename-box .rename-suggestions-button{display:flex;align-items:center;padding:3px;background-color:transparent;border:none;border-radius:5px;cursor:pointer}.monaco-editor .rename-box .rename-suggestions-button:hover{background-color:var(--vscode-toolbar-hoverBackground)}.monaco-editor .rename-box .rename-candidate-list-container .mon
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
Showing preview only (2,707K chars total). Download the full file or copy to clipboard to get everything.
SYMBOL INDEX (28046 symbols across 24 files)
FILE: backend/openui/__main__.py
function is_running_in_docker (line 14) | def is_running_in_docker():
FILE: backend/openui/config.py
class Env (line 8) | class Env(Enum):
FILE: backend/openui/db/models.py
class BaseModel (line 31) | class BaseModel(Model):
class Meta (line 32) | class Meta:
class SchemaMigration (line 36) | class SchemaMigration(BaseModel):
class User (line 40) | class User(BaseModel):
class Credential (line 47) | class Credential(BaseModel):
class Session (line 56) | class Session(BaseModel):
class Component (line 64) | class Component(BaseModel):
class Vote (line 71) | class Vote(BaseModel):
class Usage (line 79) | class Usage(BaseModel):
class Meta (line 85) | class Meta:
method update_tokens (line 89) | def update_tokens(cls, user_id: str, input_tokens: int, output_tokens:...
method tokens_since (line 104) | def tokens_since(cls, user_id: str, day: datetime.date) -> int:
function alter (line 119) | def alter(schema: SchemaMigration, ops: list[list], version: str) -> bool:
function perform_migration (line 131) | def perform_migration(schema: SchemaMigration) -> bool:
function ensure_migrated (line 155) | def ensure_migrated():
FILE: backend/openui/dist/assets/CodeEditor-B9qhAAku.js
function KZ (line 2) | function KZ(s,e,t){return e in s?Object.defineProperty(s,e,{value:t,enum...
function l5 (line 2) | function l5(s,e){var t=Object.keys(s);if(Object.getOwnPropertySymbols){v...
function d5 (line 2) | function d5(s){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=n...
function qZ (line 2) | function qZ(s,e){if(s==null)return{};var t={},i=Object.keys(s),n,o;for(o...
function GZ (line 2) | function GZ(s,e){if(s==null)return{};var t=qZ(s,e),i,n;if(Object.getOwnP...
function ZZ (line 2) | function ZZ(s,e){return XZ(s)||YZ(s,e)||QZ(s,e)||JZ()}
function XZ (line 2) | function XZ(s){if(Array.isArray(s))return s}
function YZ (line 2) | function YZ(s,e){if(!(typeof Symbol>"u"||!(Symbol.iterator in Object(s))...
function QZ (line 2) | function QZ(s,e){if(s){if(typeof s=="string")return c5(s,e);var t=Object...
function c5 (line 2) | function c5(s,e){(e==null||e>s.length)&&(e=s.length);for(var t=0,i=new A...
function JZ (line 2) | function JZ(){throw new TypeError(`Invalid attempt to destructure non-it...
function eX (line 3) | function eX(s,e,t){return e in s?Object.defineProperty(s,e,{value:t,enum...
function u5 (line 3) | function u5(s,e){var t=Object.keys(s);if(Object.getOwnPropertySymbols){v...
function h5 (line 3) | function h5(s){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=n...
function tX (line 3) | function tX(){for(var s=arguments.length,e=new Array(s),t=0;t<s;t++)e[t]...
function dv (line 3) | function dv(s){return function e(){for(var t=this,i=arguments.length,n=n...
function bS (line 3) | function bS(s){return{}.toString.call(s).includes("Object")}
function iX (line 3) | function iX(s){return!Object.keys(s).length}
function wb (line 3) | function wb(s){return typeof s=="function"}
function nX (line 3) | function nX(s,e){return Object.prototype.hasOwnProperty.call(s,e)}
function sX (line 3) | function sX(s,e){return bS(e)||th("changeType"),Object.keys(e).some(func...
function oX (line 3) | function oX(s){wb(s)||th("selectorType")}
function rX (line 3) | function rX(s){wb(s)||bS(s)||th("handlerType"),bS(s)&&Object.values(s).s...
function aX (line 3) | function aX(s){s||th("initialIsRequired"),bS(s)||th("initialType"),iX(s)...
function lX (line 3) | function lX(s,e){throw new Error(s[e]||s.default)}
function cX (line 3) | function cX(s){var e=arguments.length>1&&arguments[1]!==void 0?arguments...
function uX (line 3) | function uX(s,e){return wb(e)?e(s.current):e}
function hX (line 3) | function hX(s,e){return s.current=h5(h5({},s.current),e),e}
function gX (line 3) | function gX(s,e,t){return wb(e)?e(s.current):Object.keys(t).forEach(func...
function mX (line 3) | function mX(s){return function e(){for(var t=this,i=arguments.length,n=n...
function _X (line 3) | function _X(s){return{}.toString.call(s).includes("Object")}
function vX (line 3) | function vX(s){return s||g5("configIsRequired"),_X(s)||g5("configType"),...
function bX (line 3) | function bX(){console.warn(nW.deprecation)}
function CX (line 3) | function CX(s,e){throw new Error(s[e]||s.default)}
function sW (line 12) | function sW(s,e){return Object.keys(e).forEach(function(t){e[t]instanceo...
function cE (line 12) | function cE(s){var e=!1,t=new Promise(function(i,n){s.then(function(o){r...
function LX (line 12) | function LX(s){var e=wX.config(s),t=e.monaco,i=GZ(e,["monaco"]);TL(funct...
function xX (line 12) | function xX(){var s=n1(function(e){var t=e.monaco,i=e.isInitialized,n=e....
function kX (line 12) | function kX(s){return document.body.appendChild(s)}
function EX (line 12) | function EX(s){var e=document.createElement("script");return s&&(e.src=s...
function IX (line 12) | function IX(s){var e=n1(function(i){var n=i.config,o=i.reject;return{con...
function TX (line 12) | function TX(){var s=n1(function(t){var i=t.config,n=t.resolve,o=t.reject...
function rW (line 12) | function rW(s){n1().monaco||TL({monaco:s})}
function NX (line 12) | function NX(){return n1(function(s){var e=s.monaco;return e})}
function PX (line 12) | function PX({children:s}){return Sm.createElement("div",{style:RX.contai...
function BX (line 12) | function BX({width:s,height:e,isEditorReady:t,loading:i,_ref:n,className...
function HX (line 12) | function HX(s){_t.useEffect(s,[])}
function VX (line 12) | function VX(s,e,t=!0){let i=_t.useRef(!0);_t.useEffect(i.current||!t?()=...
function Fv (line 12) | function Fv(){}
function Xp (line 12) | function Xp(s,e,t,i){return zX(s,i)||UX(s,e,t,i)}
function zX (line 12) | function zX(s,e){return s.editor.getModel(dW(s,e))}
function UX (line 12) | function UX(s,e,t,i){return s.editor.createModel(e,t,i?dW(s,i):void 0)}
function dW (line 12) | function dW(s,e){return s.Uri.parse(e)}
function $X (line 12) | function $X({original:s,modified:e,language:t,originalLanguage:i,modifie...
function KX (line 12) | function KX(s){let e=_t.useRef();return _t.useEffect(()=>{e.current=s},[...
function GX (line 12) | function GX({defaultValue:s,defaultLanguage:e,defaultPath:t,value:i,lang...
method get (line 12) | get(s,e){return this.cache.has(s)?this.cache.get(s):(this.cache.set(s,e)...
function ul (line 12) | function ul(){if(!kT)throw new Error("Monaco is undefined. Call setMonac...
function QX (line 12) | function QX(s){kT=s}
function JX (line 12) | function JX(s){const{MarkerSeverity:e}=ul();return s===e.Error?1:s===e.W...
function eY (line 12) | function eY(s){const{MarkerSeverity:e}=ul();return s===1?e.Error:s===2?e...
function tY (line 12) | function tY(s){return s}
function iY (line 12) | function iY(s){return s}
function of (line 12) | function of(s){return{start:{line:s.startLineNumber-1,character:s.startC...
function Zl (line 12) | function Zl(s){return{startLineNumber:s.start.line+1,startColumn:s.start...
function nY (line 12) | function nY(s){return{location:{range:of(s),uri:String(s.resource)},mess...
function sY (line 12) | function sY(s){const{Uri:e}=ul();return{...Zl(s.location.range),message:...
function oY (line 12) | function oY(s){const e={message:s.message,range:of(s),severity:JX(s.seve...
function cW (line 12) | function cW(s,e){var t;const{MarkerSeverity:i,Uri:n}=ul(),o={...Zl(s.ran...
function rY (line 12) | function rY(s){return{range:Zl(s.range),text:s.newText}}
function aY (line 12) | function aY(s){const e={};return s.ignoreIfExists!=null&&(e.ignoreIfExis...
function lY (line 12) | function lY(s){const{Uri:e}=ul(),t=s.kind==="create"?{newResource:e.pars...
function p5 (line 12) | function p5(s,e,t){const{Uri:i}=ul();return{resource:i.parse(e),versionI...
function dY (line 12) | function dY(s){var e;const t=[];if(s.changes)for(const[i,n]of Object.ent...
function cY (line 12) | function cY(s,e){const t={title:s.title,isPreferred:s.isPreferred};retur...
function uY (line 12) | function uY(s){const e={diagnostics:s.markers.map(oY),triggerKind:s.trig...
function hY (line 12) | function hY(s){const e={title:s.title,command:s.id};return s.arguments&&...
function gY (line 12) | function gY(s){const e={title:s.title,id:s.command};return s.arguments&&...
function fY (line 12) | function fY(s){return{red:s.red,blue:s.blue,green:s.green,alpha:s.alpha}}
function pY (line 12) | function pY(s){return{range:Zl(s.range),color:fY(s.color)}}
function mY (line 12) | function mY(s){const{CompletionTriggerKind:e}=ul().languages;return s===...
function _Y (line 12) | function _Y(s){const e={triggerKind:mY(s.triggerKind)};return s.triggerC...
function vY (line 12) | function vY(s){const{CompletionItemKind:e}=ul().languages;if(s===e.Text)...
function bY (line 12) | function bY(s){const{CompletionItemKind:e}=ul().languages;return s===1?e...
function CY (line 12) | function CY(s){return s}
function wY (line 12) | function wY(s){return s}
function yY (line 12) | function yY(s){return{kind:"markdown",value:s.value}}
function uW (line 12) | function uW(s){return{value:s.value}}
function SY (line 12) | function SY(s){var e;return{newText:(e=s.text)!==null&&e!==void 0?e:"",r...
function DY (line 12) | function DY(s){return{range:Zl(s.range),text:s.newText}}
function LY (line 12) | function LY(s,e){return"insert"in s?{newText:e,insert:of(s.insert),repla...
function xY (line 12) | function xY(s){const{CompletionItemInsertTextRule:e}=ul().languages,t={k...
function kY (line 12) | function kY(s){return"range"in s?Zl(s.range):"insert"in s&&"replace"in s...
function hW (line 12) | function hW(s,e){var t,i,n,o,r;const{CompletionItemInsertTextRule:a,Comp...
function EY (line 12) | function EY(s,e){return{incomplete:!!s.isIncomplete,suggestions:s.items....
function m5 (line 12) | function m5(s){return typeof s=="string"?{value:s}:{value:`\`\`\`${s.lan...
function IY (line 14) | function IY(s){return typeof s=="string"||"language"in s?[m5(s)]:Array.i...
function TY (line 14) | function TY(s){const e={contents:IY(s.contents)};return s.range&&(e.rang...
function gW (line 14) | function gW(s){return{character:s.column-1,line:s.lineNumber-1}}
function NY (line 14) | function NY(s,e,t){const i=new Map,n=u=>{if(e==="*")return!0;const h=u.g...
function AY (line 14) | function AY(s,e){let{createData:t,interval:i=3e4,label:n,moduleId:o,stop...
function Ws (line 14) | function Ws(s,e){MY(s)&&(s="100%");var t=RY(s);return s=e===360?s:Math.m...
function tw (line 14) | function tw(s){return Math.min(1,Math.max(0,s))}
function MY (line 14) | function MY(s){return typeof s=="string"&&s.indexOf(".")!==-1&&parseFloa...
function RY (line 14) | function RY(s){return typeof s=="string"&&s.indexOf("%")!==-1}
function fW (line 14) | function fW(s){return s=parseFloat(s),(isNaN(s)||s<0||s>1)&&(s=1),s}
function jg (line 14) | function jg(s){return s<=1?"".concat(Number(s)*100,"%"):s}
function Kg (line 14) | function Kg(s){return s.length===1?"0"+s:String(s)}
function PY (line 14) | function PY(s,e,t){return{r:Ws(s,255)*255,g:Ws(e,255)*255,b:Ws(t,255)*255}}
function _5 (line 14) | function _5(s,e,t){s=Ws(s,255),e=Ws(e,255),t=Ws(t,255);var i=Math.max(s,...
function gE (line 14) | function gE(s,e,t){return t<0&&(t+=1),t>1&&(t-=1),t<1/6?s+(e-s)*(6*t):t<...
function FY (line 14) | function FY(s,e,t){var i,n,o;if(s=Ws(s,360),e=Ws(e,100),t=Ws(t,100),e===...
function v5 (line 14) | function v5(s,e,t){s=Ws(s,255),e=Ws(e,255),t=Ws(t,255);var i=Math.max(s,...
function OY (line 14) | function OY(s,e,t){s=Ws(s,360)*6,e=Ws(e,100),t=Ws(t,100);var i=Math.floo...
function b5 (line 14) | function b5(s,e,t,i){var n=[Kg(Math.round(s).toString(16)),Kg(Math.round...
function BY (line 14) | function BY(s,e,t,i,n){var o=[Kg(Math.round(s).toString(16)),Kg(Math.rou...
function WY (line 14) | function WY(s){return Math.round(parseFloat(s)*255).toString(16)}
function C5 (line 14) | function C5(s){return vr(s)/255}
function vr (line 14) | function vr(s){return parseInt(s,16)}
function HY (line 14) | function HY(s){return{r:s>>16,g:(s&65280)>>8,b:s&255}}
function VY (line 14) | function VY(s){var e={r:0,g:0,b:0},t=1,i=null,n=null,o=null,r=!1,a=!1;re...
function $Y (line 14) | function $Y(s){if(s=s.trim().toLowerCase(),s.length===0)return!1;var e=!...
function Bd (line 14) | function Bd(s){return!!Ea.CSS_UNIT.exec(String(s))}
function s (line 14) | function s(e,t){e===void 0&&(e=""),t===void 0&&(t={});var i;if(e instanc...
function KY (line 14) | function KY(s,e){var t={r:jg(s.r),g:jg(s.g),b:jg(s.b)};return s.a!==void...
function mE (line 14) | function mE(s){return Math.round(s*255).toString(16).padStart(2,"0")}
function GY (line 14) | function GY(s){const e=`${mE(s.red)}${mE(s.green)}${mE(s.blue)}`,t=`tail...
function ZY (line 14) | function ZY(s,e){const t=new WeakMap;return s.editor.onWillDisposeModel(...
function XY (line 14) | function XY(s){return{async provideHover(e,t){const n=await(await s(e.ur...
function YY (line 14) | function YY(s){return{async provideCodeActions(e,t,i){const o=await(awai...
function QY (line 14) | function QY(s){return{async provideCompletionItems(e,t,i){const o=await(...
function JY (line 14) | function JY(s){return{owner:"tailwindcss",async provideMarkerData(e){con...
function AL (line 14) | function AL(s,e){return{name:`@${s}`,description:{kind:"markdown",value:...
method dispose (line 142) | dispose(){for(const o of n)o.dispose()}
method setTailwindConfig (line 142) | setTailwindConfig(o){i.updateCreateData({tailwindConfig:o})}
method generateStylesFromContent (line 142) | async generateStylesFromContent(o,r){return(await i.getWorker()).generat...
function gQ (line 142) | function gQ(s){return s!==null&&typeof s=="object"}
function _Q (line 142) | function _Q(s,{getVisitorKeys:e,predicate:t}){for(let i of mQ(s,{getVisi...
function bQ (line 142) | function bQ(s){return s===12288||s>=65281&&s<=65376||s>=65504&&s<=65510}
function CQ (line 142) | function CQ(s){return s>=4352&&s<=4447||s===8986||s===8987||s===9001||s=...
function SQ (line 142) | function SQ(s){if(!s)return 0;if(!yQ.test(s))return s.length;s=s.replace...
function cP (line 142) | function cP(s){return(e,t,i)=>{let n=!!(i!=null&&i.backwards);if(t===!1)...
function xQ (line 142) | function xQ(s,e,t){let i=!!(t!=null&&t.backwards);if(e===!1)return!1;let...
function kQ (line 146) | function kQ(s,e,t={}){let i=Jm(s,t.backwards?e-1:e,t),n=e_(s,i,t);return...
function EQ (line 146) | function EQ(s,e){if(e===!1)return!1;if(s.charAt(e)==="/"&&s.charAt(e+1)=...
function IQ (line 146) | function IQ(s,e){return e===!1?!1:s.charAt(e)==="/"&&s.charAt(e+1)==="/"...
function TQ (line 146) | function TQ(s,e){let t=null,i=e;for(;i!==t;)t=i,i=DQ(s,i),i=uP(s,i),i=Jm...
function NQ (line 146) | function NQ(s){return Array.isArray(s)&&s.length>0}
function AQ (line 146) | function AQ(s,e){let t=e===!0||e===iw?iw:w5,i=t===iw?w5:iw,n=0,o=0;for(l...
function MQ (line 146) | function MQ(s,e,t){let i=e==='"'?"'":'"',n=As(!1,s,/\\(.)|(["'])/gsu,(o,...
function PQ (line 146) | function PQ(s,e){fP.ok(/^(?<quote>["']).*\k<quote>$/su.test(s));let t=s....
function Ln (line 146) | function Ln(s){var e,t,i;let n=((e=s.range)==null?void 0:e[0])??s.start,...
function oi (line 146) | function oi(s){var e;return((e=s.range)==null?void 0:e[1])??s.end}
function RL (line 146) | function RL(s,e){let t=Ln(s);return Number.isInteger(t)&&t===Ln(e)}
function FQ (line 146) | function FQ(s,e){let t=oi(s);return Number.isInteger(t)&&t===oi(e)}
function OQ (line 146) | function OQ(s,e){return RL(s,e)&&FQ(s,e)}
function Ov (line 146) | function Ov(s){if(N0!==null&&typeof N0.property){let e=N0;return N0=Ov.p...
function WQ (line 146) | function WQ(s){return Ov(s)}
function HQ (line 146) | function HQ(s,e="type"){WQ(s);function t(i){let n=i[e],o=s[n];if(!Array....
function UQ (line 146) | function UQ(s){let e=new Set(s);return t=>e.has(t==null?void 0:t.type)}
function KQ (line 146) | function KQ(s,e){let t=e.split(".");for(let i=t.length-1;i>=0;i--){let n...
function qQ (line 146) | function qQ(s,e){return e.some(t=>KQ(s,t))}
function ZQ (line 146) | function ZQ({type:s}){return s.startsWith("TS")&&s.endsWith("Keyword")}
function TT (line 146) | function TT(s,e){return e(s)||_Q(s,{getVisitorKeys:yW,predicate:e})}
function pP (line 146) | function pP(s){return s.type==="AssignmentExpression"||s.type==="BinaryE...
function XQ (line 146) | function XQ(s){return s.expressions?s.expressions[0]:s.left??s.test??s.c...
function LW (line 146) | function LW(s){if(s.expressions)return["expressions",0];if(s.left)return...
function QQ (line 146) | function QQ(s){return s.type==="LogicalExpression"&&s.operator==="??"}
function Pc (line 146) | function Pc(s){return s.type==="NumericLiteral"||s.type==="Literal"&&typ...
function xW (line 146) | function xW(s){return s.type==="UnaryExpression"&&(s.operator==="+"||s.o...
function sr (line 146) | function sr(s){return!!(s&&(s.type==="StringLiteral"||s.type==="Literal"...
function kW (line 146) | function kW(s){return s.type==="RegExpLiteral"||s.type==="Literal"&&!!s....
function eJ (line 146) | function eJ(s){return s.type==="FunctionExpression"||s.type==="ArrowFunc...
function _E (line 146) | function _E(s){return ui(s)&&s.callee.type==="Identifier"&&["async","inj...
function PL (line 146) | function PL(s){return s.method&&s.kind==="init"||s.kind==="get"||s.kind=...
function EW (line 146) | function EW(s){return(s.type==="ObjectTypeProperty"||s.type==="ObjectTyp...
function tJ (line 146) | function tJ(s){return(s.type==="TypeAnnotation"||s.type==="TSTypeAnnotat...
function zp (line 146) | function zp(s){return Rn(s)||s.type==="BindExpression"&&!!s.object}
function _P (line 146) | function _P(s){return DW(s)||SW(s)||iJ(s)||(s.type==="GenericTypeAnnotat...
function nJ (line 146) | function nJ(s){return s.type==="Identifier"&&(s.name==="beforeEach"||s.n...
function oJ (line 146) | function oJ(s){return GQ(s,sJ)}
function FL (line 146) | function FL(s,e){if((s==null?void 0:s.type)!=="CallExpression"||s.option...
function y5 (line 146) | function y5(s,e=5){return TW(s,e)<=e}
function TW (line 146) | function TW(s,e){let t=0;for(let i in s){let n=s[i];if(n&&typeof n=="obj...
function vP (line 146) | function vP(s,e){let{printWidth:t}=e;if(Re(s))return!1;let i=t*rJ;if(s.t...
function vh (line 147) | function vh(s,e){return bs(e)?OL(e):Re(e,Ze.Leading,t=>Ar(s,oi(t)))}
function S5 (line 147) | function S5(s){return s.quasis.some(e=>e.value.raw.includes(`
function NW (line 148) | function NW(s,e){return(s.type==="TemplateLiteral"&&S5(s)||s.type==="Tag...
function AW (line 148) | function AW(s){if(!Re(s))return!1;let e=Si(!1,Dm(s,Ze.Dangling),-1);retu...
function aJ (line 148) | function aJ(s){if(s.length<=1)return!1;let e=0;for(let t of s)if(yb(t)){...
function MW (line 148) | function MW(s){let{node:e,parent:t,key:i}=s;return i==="callee"&&ui(e)&&...
function Wa (line 148) | function Wa(s,e=2){if(e<=0)return!1;if(s.type==="ChainExpression"||s.typ...
function fa (line 149) | function fa(s){var e;return((e=s.extra)==null?void 0:e.raw)??s.raw}
function dJ (line 149) | function dJ(s){return s}
function Xc (line 149) | function Xc(s,e="es5"){return s.trailingComma==="es5"&&e==="es5"||s.trai...
function Co (line 149) | function Co(s,e){switch(s.type){case"BinaryExpression":case"LogicalExpre...
function bP (line 149) | function bP(s,e){return!(wS(e)!==wS(s)||s==="**"||D5[s]&&D5[e]||e==="%"&...
function wS (line 149) | function wS(s){return cJ.get(s)}
function uJ (line 149) | function uJ(s){return!!NT[s]||s==="|"||s==="^"||s==="&"}
function hJ (line 149) | function hJ(s){var e;if(s.rest)return!0;let t=uo(s);return((e=Si(!1,t,-1...
function uo (line 149) | function uo(s){if(vE.has(s))return vE.get(s);let e=[];return s.this&&e.p...
function gJ (line 149) | function gJ(s,e){let{node:t}=s,i=0,n=o=>e(o,i++);t.this&&s.call(n,"this"...
function wa (line 149) | function wa(s){if(bE.has(s))return bE.get(s);if(s.type==="ChainExpressio...
function yS (line 149) | function yS(s,e){let{node:t}=s;if(t.type==="ChainExpression")return s.ca...
function L5 (line 149) | function L5(s,e){let t=[];if(s.type==="ChainExpression"&&(s=s.expression...
function SS (line 149) | function SS(s){return s.value.trim()==="prettier-ignore"&&!s.unignore}
function OL (line 149) | function OL(s){return(s==null?void 0:s.prettierIgnore)||Re(s,Ze.Prettier...
function Re (line 149) | function Re(s,e,t){if(!mi(s==null?void 0:s.comments))return!1;let i=RW(e...
function Dm (line 149) | function Dm(s,e,t){if(!Array.isArray(s==null?void 0:s.comments))return[]...
function i_ (line 149) | function i_(s){return ui(s)||s.type==="NewExpression"||s.type==="ImportE...
function Qc (line 149) | function Qc(s){return s&&(s.type==="ObjectProperty"||s.type==="Property"...
function PW (line 149) | function PW(s,e,t){var i,n;if(s.type==="Program"&&delete e.sourceType,(s...
function mJ (line 149) | function mJ(s){if(typeof s=="string")return Zf;if(Array.isArray(s))retur...
function vJ (line 149) | function vJ(s){let e=s===null?"null":typeof s;if(e!=="string"&&e!=="obje...
method constructor (line 151) | constructor(e){super(vJ(e));Q1(this,"name","InvalidDocError");this.doc=e}
function CJ (line 151) | function CJ(s,e,t,i){let n=[s];for(;n.length>0;){let o=n.pop();if(o===x5...
function J_ (line 151) | function J_(s,e){if(typeof s=="string")return e(s);let t=new Map;return ...
function OW (line 151) | function OW(s,e,t){let i=t,n=!1;function o(r){if(n)return!1;let a=e(r);a...
function wJ (line 151) | function wJ(s){if(s.type===pa&&s.break||s.type===ur&&s.hard||s.type===eu...
function So (line 151) | function So(s){return OW(s,wJ,!1)}
function k5 (line 151) | function k5(s){if(s.length>0){let e=Si(!1,s,-1);!e.expandedStates&&!e.br...
function yJ (line 151) | function yJ(s){let e=new Set,t=[];function i(o){if(o.type===eu&&k5(t),o....
function SJ (line 151) | function SJ(s){return s.type===ur&&!s.hard?s.soft?"":" ":s.type===sd?s.f...
function AT (line 151) | function AT(s){return J_(s,SJ)}
function DJ (line 151) | function DJ(s){switch(Qh(s)){case Xh:if(s.parts.every(e=>e===""))return"...
function yP (line 151) | function yP(s){return J_(s,e=>DJ(e))}
function _f (line 151) | function _f(s,e=VW){return J_(s,t=>typeof t=="string"?si(e,t.split(`
function LJ (line 152) | function LJ(s){if(s.type===ur)return!0}
function xJ (line 152) | function xJ(s){return OW(s,LJ,!1)}
function MT (line 152) | function MT(s,e){return s.type===Jc?{...s,contents:e(s.contents)}:e(s)}
function kJ (line 152) | function kJ(s){let e=!0;return wP(s,t=>{switch(Qh(t)){case Zf:if(t==="")...
function Le (line 152) | function Le(s){return{type:Xf,contents:s}}
function gd (line 152) | function gd(s,e){return{type:Yf,contents:e,n:s}}
function re (line 152) | function re(s,e={}){return IJ(e.expandedStates),{type:pa,id:e.id,content...
function TJ (line 152) | function TJ(s){return gd(Number.NEGATIVE_INFINITY,s)}
function BW (line 152) | function BW(s){return gd(-1,s)}
function qg (line 152) | function qg(s,e){return re(s[0],{...e,expandedStates:s})}
function WW (line 152) | function WW(s){return{type:Xh,parts:s}}
function Rt (line 152) | function Rt(s,e="",t={}){return{type:sd,breakContents:s,flatContents:e,g...
function BL (line 152) | function BL(s,e){return{type:Jf,contents:s,groupId:e.groupId,negate:e.ne...
function E5 (line 152) | function E5(s){return{type:ep,contents:s}}
function si (line 152) | function si(s,e){let t=[];for(let i=0;i<e.length;i++)i!==0&&t.push(s),t....
function AJ (line 152) | function AJ(s,e,t){let i=s;if(e>0){for(let n=0;n<Math.floor(e/t);++n)i=L...
function s1 (line 152) | function s1(s,e){return s?{type:Jc,label:s,contents:e}:e}
function MJ (line 152) | function MJ(s){let e=`*${s.value}*`.split(`
function PJ (line 153) | function PJ(s,e){let t=s.node;if(Y_(t))return e.originalText.slice(Ln(t)...
function FJ (line 153) | function FJ(s){let e=s.value.split(`
function OJ (line 154) | function OJ(s){let e=s.type||s.kind||"(unknown type)",t=String(s.name||s...
function SP (line 154) | function SP(s,e){(s.comments??(s.comments=[])).push(e),e.printed=!1,e.no...
function Us (line 154) | function Us(s,e){e.leading=!0,e.trailing=!1,SP(s,e)}
function ma (line 154) | function ma(s,e,t){e.leading=!1,e.trailing=!1,t&&(e.marker=t),SP(s,e)}
function pn (line 154) | function pn(s,e){e.leading=!1,e.trailing=!0,SP(s,e)}
function BJ (line 154) | function BJ(s,e){let t=null,i=e;for(;i!==t;)t=i,i=Jm(s,i),i=uP(s,i),i=hP...
function WJ (line 154) | function WJ(s,e){let t=e0(s,e);return t===!1?"":s.charAt(t)}
function HJ (line 154) | function HJ(s,e,t){for(let i=e;i<t;++i)if(s.charAt(i)===`
function VJ (line 155) | function VJ(s){return Ca(s)&&s.value[0]==="*"&&/@(?:type|satisfies)\b/u....
function zJ (line 155) | function zJ(s){return[YW,jW,GW,tee,KJ,DP,LP,$W,KW,oee,nee,kP,XW,ree,qW,Z...
function UJ (line 155) | function UJ(s){return[jJ,GW,jW,XW,DP,LP,$W,KW,ZW,iee,see,kP,dee,xP,hee,g...
function $J (line 155) | function $J(s){return[YW,DP,LP,GJ,eee,qW,kP,JJ,QJ,uee,xP,cee].some(e=>e(...
function tp (line 155) | function tp(s,e){let t=(s.body||s.properties).find(({type:i})=>i!=="Empt...
function RT (line 155) | function RT(s,e){s.type==="BlockStatement"?tp(s,e):Us(s,e)}
function jJ (line 155) | function jJ({comment:s,followingNode:e}){return e&&UW(s)?(Us(e,s),!0):!1}
function DP (line 155) | function DP({comment:s,precedingNode:e,enclosingNode:t,followingNode:i,t...
function LP (line 155) | function LP({comment:s,precedingNode:e,enclosingNode:t,followingNode:i,t...
function $W (line 155) | function $W({comment:s,precedingNode:e,enclosingNode:t,followingNode:i})...
function KJ (line 155) | function KJ({comment:s,enclosingNode:e,followingNode:t}){return Rn(e)&&(...
function qJ (line 155) | function qJ({comment:s,enclosingNode:e,followingNode:t,options:i}){retur...
function jW (line 155) | function jW({comment:s,precedingNode:e,enclosingNode:t,followingNode:i,t...
function GJ (line 155) | function GJ({comment:s,precedingNode:e,enclosingNode:t}){return Qc(t)&&t...
function KW (line 155) | function KW({comment:s,precedingNode:e,enclosingNode:t,followingNode:i})...
function qW (line 155) | function qW({comment:s,precedingNode:e,enclosingNode:t,text:i}){return t...
function QJ (line 155) | function QJ({comment:s,precedingNode:e,enclosingNode:t,text:i}){return n...
function JJ (line 155) | function JJ({comment:s,enclosingNode:e,text:t}){if((e==null?void 0:e.typ...
function eee (line 155) | function eee({comment:s,enclosingNode:e,text:t}){return nl(t,oi(s))!==")...
function tee (line 155) | function tee({comment:s,precedingNode:e,enclosingNode:t,followingNode:i,...
function GW (line 155) | function GW({comment:s,precedingNode:e,enclosingNode:t,followingNode:i,t...
function ZW (line 155) | function ZW({comment:s,enclosingNode:e}){return(e==null?void 0:e.type)==...
function xP (line 155) | function xP({comment:s,enclosingNode:e}){return((e==null?void 0:e.type)=...
function iee (line 155) | function iee({comment:s,precedingNode:e,enclosingNode:t}){return ui(t)&&...
function nee (line 155) | function nee({comment:s,precedingNode:e,enclosingNode:t,followingNode:i}...
function see (line 155) | function see({comment:s,enclosingNode:e}){return Qc(e)?(Us(e,s),!0):!1}
function kP (line 155) | function kP({comment:s,enclosingNode:e,ast:t,isLastComment:i}){var n;ret...
function oee (line 155) | function oee({comment:s,enclosingNode:e}){return(e==null?void 0:e.type)=...
function XW (line 155) | function XW({comment:s,precedingNode:e,enclosingNode:t,text:i}){if((t==n...
function ree (line 155) | function ree({comment:s,enclosingNode:e}){return(e==null?void 0:e.type)=...
function dee (line 155) | function dee({comment:s,enclosingNode:e,followingNode:t}){return aee.has...
function cee (line 155) | function cee({comment:s,enclosingNode:e,followingNode:t,text:i}){return!...
function YW (line 155) | function YW({comment:s,enclosingNode:e,followingNode:t}){if(SS(s)&&(e==n...
function uee (line 155) | function uee({comment:s,precedingNode:e,enclosingNode:t,followingNode:i}...
function hee (line 155) | function hee({comment:s,enclosingNode:e,followingNode:t}){return!e||e.ty...
function gee (line 155) | function gee({comment:s,precedingNode:e,enclosingNode:t,followingNode:i}...
function fee (line 155) | function fee({comment:s,enclosingNode:e,precedingNode:t,followingNode:i}...
function pee (line 155) | function pee({comment:s,precedingNode:e,enclosingNode:t,followingNode:i}...
function _ee (line 155) | function _ee(s){return!mee.has(s.type)}
function vee (line 155) | function vee(s,e){var t;if((e.parser==="typescript"||e.parser==="flow"||...
function JW (line 155) | function JW(s){let{node:e,parent:t}=s;return(bs(e)||t&&(t.type==="JSXSpr...
function bee (line 155) | function bee(s,{parser:e}){if(e==="flow"||e==="babel-flow")return s=As(!...
function Cee (line 155) | function Cee(s){switch(s){case"cr":return"\r";case"crlf":return`\r
function eH (line 157) | function eH(){return{value:"",length:0,queue:[]}}
function wee (line 157) | function wee(s,e){return FT(s,{type:"indent"},e)}
function yee (line 157) | function yee(s,e,t){return e===Number.NEGATIVE_INFINITY?s.root||eH():e<0...
function FT (line 157) | function FT(s,e,t){let i=e.type==="dedent"?s.queue.slice(0,-1):[...s.que...
function OT (line 157) | function OT(s){let e=0,t=0,i=s.length;e:for(;i--;){let n=s[i];if(n===Yp)...
function ow (line 157) | function ow(s,e,t,i,n,o){if(t===Number.POSITIVE_INFINITY)return!0;let r=...
function tH (line 157) | function tH(s,e){let t={},i=e.printWidth,n=Cee(e.endOfLine),o=0,r=[{ind:...
function See (line 159) | function See(s,e,t=0){let i=0;for(let n=t;n<s.length;++n)s[n]===" "?i=i+...
function Lee (line 159) | function Lee(s,e){let t=s.lastIndexOf(`
function iH (line 160) | function iH(s,e,t){let{node:i}=s;if(i.type==="TemplateLiteral"&&Tee(s)){...
function kee (line 163) | function kee(s,e){let t=e("quasi");return s1(t.label&&{tagged:!0,...t.la...
function Eee (line 163) | function Eee(s,e,t){let{node:i}=s,n=i.quasis[0].value.raw.trim().split(/...
function Iee (line 165) | function Iee(s,e){let{node:t}=s,i=e();return Re(t)&&(i=re([Le([be,i]),be...
function EP (line 165) | function EP(s,e){return s.map(t=>Iee(t,e),"expressions")}
function nH (line 165) | function nH(s,e){return J_(s,t=>typeof t=="string"?e?As(!1,t,/(\\*)`/gu,...
function sH (line 165) | function sH(s){return As(!1,s,/([\\`]|\$\{)/gu,String.raw`\$1`)}
function Tee (line 165) | function Tee({node:s,parent:e}){let t=/^[fx]?(?:describe|it|test)$/u;ret...
function Nee (line 165) | function Nee(s){let e=i=>i.type==="TemplateLiteral",t=(i,n)=>Qc(i)&&!i.c...
function Aee (line 165) | function Aee(s){return s.match(e=>e.type==="TemplateLiteral",(e,t)=>Qc(e...
function CE (line 165) | function CE(s,e){return Re(s,Ze.Block|Ze.Leading,({value:t})=>t===` ${e}...
function oH (line 165) | function oH({node:s,parent:e},t){return CE(s,t)||Mee(e)&&CE(e,t)||e.type...
function Mee (line 165) | function Mee(s){return s.type==="AsConstExpression"||s.type==="TSAsExpre...
function Ree (line 165) | async function Ree(s,e,t){let{node:i}=t,n=i.quasis.map(c=>c.value.raw),o...
function Pee (line 165) | function Pee(s,e){if(!mi(e))return s;let t=0,i=J_(yP(s),n=>typeof n!="st...
function Fee (line 165) | function Fee({node:s,parent:e,grandparent:t}){return t&&s.quasis&&e.type...
function rw (line 165) | function rw(s){return s.type==="Identifier"&&s.name==="styled"}
function I5 (line 165) | function I5(s){return/^[A-Z]/u.test(s.object.name)&&s.property.name==="e...
function Oee (line 165) | function Oee({parent:s}){if(!s||s.type!=="TaggedTemplateExpression")retu...
function Bee (line 165) | function Bee({parent:s,grandparent:e}){return(e==null?void 0:e.type)==="...
function Wee (line 165) | function Wee(s){if(Fee(s)||Oee(s)||Bee(s)||Nee(s))return Ree}
function Vee (line 165) | async function Vee(s,e,t){let{node:i}=t,n=i.quasis.length,o=EP(t,e),r=[]...
function zee (line 166) | function zee(s){let e=[],t=!1,i=s.map(n=>n.trim());for(let[n,o]of i.entr...
function Uee (line 166) | function Uee({node:s,parent:e}){return oH({node:s,parent:e},"GraphQL")||...
function $ee (line 166) | function $ee(s){if(Uee(s))return Vee}
function rH (line 166) | async function rH(s,e,t,i,n){let{node:o}=i,r=wE;wE=wE+1>>>0;let a=v=>`PR...
function Kee (line 166) | function Kee(s){return oH(s,"HTML")||s.match(e=>e.type==="TemplateLitera...
function Zee (line 166) | function Zee(s){if(Kee(s))return qee;if(Aee(s))return Gee}
function Yee (line 166) | async function Yee(s,e,t){let{node:i}=t,n=As(!1,i.quasis[0].value.raw,/(...
function Qee (line 166) | function Qee(s){let e=s.match(/^([^\S\n]*)\S/mu);return e===null?"":e[1]}
function Jee (line 166) | function Jee(s){if(ete(s))return Yee}
function ete (line 166) | function ete({node:s,parent:e}){return(e==null?void 0:e.type)==="TaggedT...
function ite (line 166) | function ite(s){let{node:e}=s;if(e.type!=="TemplateLiteral"||nte(e))retu...
function nte (line 166) | function nte({quasis:s}){return s.some(({value:{cooked:e}})=>e===null)}
function cte (line 166) | function cte(s){let e=s.match(aH);return e?e[0].trimStart():""}
function ute (line 166) | function ute(s){let e=s.match(aH),t=e==null?void 0:e[0];return t==null?s...
function hte (line 166) | function hte(s){let e=`
function gte (line 167) | function gte({comments:s="",pragmas:e={}}){let t=`
function A5 (line 168) | function A5(s,e){return[...lH,...Array.isArray(e)?e:[e]].map(t=>`@${s} $...
function fte (line 168) | function fte(s){if(!s.startsWith("#!"))return"";let e=s.indexOf(`
function mte (line 169) | function mte(s){let e=pte(s);e&&(s=s.slice(e.length+1));let t=cte(s),{pr...
function _te (line 169) | function _te(s){let{shebang:e,text:t,pragmas:i,comments:n}=mte(s),o=ute(...
function vte (line 174) | function vte(s,e){let{originalText:t,[Symbol.for("comments")]:i,locStart...
function WT (line 174) | function WT(s,e){var t,i,n,o,r,a,l,d,c;if(s.isRoot)return!1;let{node:u,k...
function wte (line 174) | function wte(s){let e=0,{node:t}=s;for(;t;){let i=s.getParentNode(e++);i...
function yte (line 174) | function yte(s){return TT(s,e=>e.type==="ObjectTypeAnnotation"&&TT(e,t=>...
function Ste (line 174) | function Ste(s){return il(s)}
function cv (line 174) | function cv(s){let{parent:e,key:t}=s;switch(e.type){case"NGPipeExpressio...
function dH (line 174) | function dH(s,e){let{node:t,parent:i}=s;return t.type==="FunctionExpress...
function Dte (line 174) | function Dte(s){return!!(s.match(void 0,(e,t)=>t==="expression"&&e.type=...
function HT (line 174) | function HT(s){return s.type==="Identifier"?!0:Rn(s)?!s.computed&&!s.opt...
function Lte (line 174) | function Lte(s){return s.type==="ChainExpression"&&(s=s.expression),HT(s...
function xte (line 174) | function xte(s,e){let t=e-1;t=Jm(s,t,{backwards:!0}),t=e_(s,t,{backwards...
function IP (line 174) | function IP(s,e){let t=s.node;return t.printed=!0,e.printer.printComment...
function Ite (line 174) | function Ite(s,e){var t;let i=s.node,n=[IP(s,e)],{printer:o,originalText...
function Tte (line 174) | function Tte(s,e,t){var i;let n=s.node,o=IP(s,e),{printer:r,originalText...
function gn (line 174) | function gn(s,e,t={}){let{node:i}=s;if(!mi(i==null?void 0:i.comments))re...
function cH (line 174) | function cH(s,e){let t=s.node;if(!t)return{};let i=e[Symbol.for("printed...
function Xa (line 174) | function Xa(s,e,t){let{leading:i,trailing:n}=cH(s,t);return!i&&!n?e:MT(e...
method constructor (line 174) | constructor(e,t,i="type"){super(`Unexpected ${t} node ${i}: ${JSON.strin...
function Ate (line 174) | function Ate(s){if(typeof s!="string")throw new TypeError("Expected a st...
method constructor (line 174) | constructor(s){lQ(this,Ia),dQ(this,Ia,new Set(s))}
method getLeadingWhitespaceCount (line 174) | getLeadingWhitespaceCount(s){let e=uu(this,Ia),t=0;for(let i=0;i<s.lengt...
method getTrailingWhitespaceCount (line 174) | getTrailingWhitespaceCount(s){let e=uu(this,Ia),t=0;for(let i=s.length-1...
method getLeadingWhitespace (line 174) | getLeadingWhitespace(s){let e=this.getLeadingWhitespaceCount(s);return s...
method getTrailingWhitespace (line 174) | getTrailingWhitespace(s){let e=this.getTrailingWhitespaceCount(s);return...
method hasLeadingWhitespace (line 174) | hasLeadingWhitespace(s){return uu(this,Ia).has(s.charAt(0))}
method hasTrailingWhitespace (line 174) | hasTrailingWhitespace(s){return uu(this,Ia).has(Si(!1,s,-1))}
method trimStart (line 174) | trimStart(s){let e=this.getLeadingWhitespaceCount(s);return s.slice(e)}
method trimEnd (line 174) | trimEnd(s){let e=this.getTrailingWhitespaceCount(s);return s.slice(0,s.l...
method trim (line 174) | trim(s){return this.trimEnd(this.trimStart(s))}
method split (line 174) | split(s,e=!1){let t=`[${Ate([...uu(this,Ia)].join(""))}]+`,i=new RegExp(...
method hasWhitespaceCharacter (line 174) | hasWhitespaceCharacter(s){let e=uu(this,Ia);return Array.prototype.some....
method hasNonWhitespaceCharacter (line 174) | hasNonWhitespaceCharacter(s){let e=uu(this,Ia);return Array.prototype.so...
method isWhitespaceOnly (line 174) | isWhitespaceOnly(s){let e=uu(this,Ia);return Array.prototype.every.call(...
function Pte (line 175) | function Pte(s,e,t){var i,n,o,r,a;let{node:l}=s;if(l.type==="JSXElement"...
function Fte (line 175) | function Fte(s,e,t,i,n){let o="",r=[o];function a(d){o=d,r.push([r.pop()...
function M5 (line 175) | function M5(s,e,t,i){return s?"":t.type==="JSXElement"&&!t.closingElemen...
function R5 (line 175) | function R5(s,e,t,i){return s?Se:e.length===1?t.type==="JSXElement"&&!t....
function Bte (line 175) | function Bte(s,e,t){let{parent:i}=s;if(Ote.has(i.type))return e;let n=s....
function Wte (line 175) | function Wte(s,e,t){let{node:i}=s,n=[];if(n.push(t("name")),i.value){let...
function Hte (line 175) | function Hte(s,e,t){let{node:i}=s,n=(o,r)=>o.type==="JSXEmptyExpression"...
function Vte (line 175) | function Vte(s,e,t){var i,n;let{node:o}=s,r=Re(o.name)||Re(o.typeParamet...
function zte (line 177) | function zte(s,e,t){return s.selfClosing?[Ue,"/>"]:Ute(s,e,t)?[">"]:[be,...
function Ute (line 177) | function Ute(s,e,t){let i=s.attributes.length>0&&Re(Si(!1,s.attributes,-...
function $te (line 177) | function $te(s,e,t){let{node:i}=s,n=[];n.push("</");let o=t("name");retu...
function jte (line 177) | function jte(s,e){let{node:t}=s,i=Re(t),n=Re(t,Ze.Line),o=t.type==="JSXO...
function Kte (line 177) | function Kte(s,e,t){let i=Xa(s,Pte(s,e,t),e);return Bte(s,i,e)}
function qte (line 177) | function qte(s,e){let{node:t}=s,i=Re(t,Ze.Line);return[gn(s,e,{indent:i}...
function Gte (line 177) | function Gte(s,e,t){let{node:i}=s;return["{",s.call(({node:n})=>{let o=[...
function Zte (line 177) | function Zte(s,e,t){let{node:i}=s;if(i.type.startsWith("JSX"))switch(i.t...
function Xte (line 177) | function Xte(s){if(s.children.length===0)return!0;if(s.children.length>1...
function Db (line 177) | function Db(s){return s.type==="JSXText"&&(Ny.hasNonWhitespaceCharacter(...
function Yte (line 177) | function Yte(s){return s.type==="JSXExpressionContainer"&&sr(s.expressio...
function Qte (line 177) | function Qte(s){let{node:e,parent:t}=s;if(!bs(e)||!bs(t))return!1;let{in...
function Jte (line 177) | function Jte(s){return OL(s.node)||Qte(s)}
function hH (line 177) | function hH(s,e,t){var i;let{node:n,parent:o,grandparent:r,key:a}=s,l=a!...
function VT (line 177) | function VT(s,e,t,i,n){var o;let{node:r}=s;if(!Fc(r))return[re(e())];let...
function Lb (line 177) | function Lb(s){return s.type!=="LogicalExpression"?!1:!!(il(s.right)&&s....
function tie (line 177) | function tie(s,e){return(e.parser==="__vue_expression"||e.parser==="__vu...
function iie (line 177) | function iie(s,e,t){let{node:i}=s;if(i.type.startsWith("NG"))switch(i.ty...
function F5 (line 177) | function F5({node:s,index:e}){return s.type==="NGMicrosyntaxKeyedExpress...
function sie (line 177) | function sie({node:s}){return TT(s,nie)}
function gH (line 177) | function gH(s,e,t){let{node:i}=s;return re([si(Ue,s.map(t,"decorators"))...
function oie (line 177) | function oie(s,e,t){return pH(s.node)?[si(Se,s.map(t,"declaration","deco...
function rie (line 177) | function rie(s,e,t){let{node:i,parent:n}=s,{decorators:o}=i;if(!mi(o)||p...
function fH (line 177) | function fH(s,e){return s.decorators.some(t=>Ar(e.originalText,oi(t)))}
function pH (line 177) | function pH(s){var e;if(s.type!=="ExportDefaultDeclaration"&&s.type!=="E...
method constructor (line 177) | constructor(){super(...arguments);Q1(this,"name","ArgExpansionBailout")}
function aie (line 177) | function aie(s,e,t){let{node:i}=s,n=wa(i);if(n.length===0)return["(",gn(...
function Bv (line 177) | function Bv(s,e=!1){return il(s)&&(s.properties.length>0||Re(s))||zs(s)&...
function lie (line 177) | function lie(s,e,t){var i,n;let o=Si(!1,s,-1);if(s.length===1){let a=Si(...
function die (line 177) | function die(s){if(s.length!==2)return!1;let[e,t]=s;return e.type==="Mod...
function mH (line 177) | function mH(s){if(s.type==="ParenthesizedExpression")return mH(s.express...
function cie (line 177) | function cie(s){return s.length===2?O5(s,0):s.length===3?s[0].type==="Id...
function O5 (line 177) | function O5(s,e){let t=s[e],i=s[e+1];return t.type==="ArrowFunctionExpre...
function uie (line 177) | function uie(s){return s.type==="BlockStatement"&&(s.body.some(e=>e.type...
function hie (line 177) | function hie(s){return s.type==="ObjectExpression"&&s.properties.length=...
function fie (line 177) | function fie(s,e,t){var i;let n=t("object"),o=_H(s,e,t),{node:r}=s,a=s.f...
function _H (line 177) | function _H(s,e,t){let i=t("property"),{node:n}=s,o=ko(s);return n.compu...
function vH (line 177) | function vH(s,e,t){if(s.node.type==="ChainExpression")return s.call(()=>...
function bH (line 177) | function bH(s,e,t){var i;let{node:n}=s,o=n.type==="NewExpression",r=n.ty...
function B5 (line 177) | function B5(s,e){let{node:t}=s;return t.type==="ImportExpression"?`impor...
function mie (line 177) | function mie(s){let{node:e}=s;if(e.type!=="CallExpression"||e.optional||...
function o1 (line 177) | function o1(s,e,t,i,n,o){let r=bie(s,e,t,i,o),a=o?t(o,{assignmentLayout:...
function _ie (line 177) | function _ie(s,e,t){let{node:i}=s;return o1(s,e,t,t("left"),[" ",i.opera...
function vie (line 177) | function vie(s,e,t){return o1(s,e,t,t("id")," =","init")}
function bie (line 177) | function bie(s,e,t,i,n){let{node:o}=s,r=o[n];if(!r)return"only-left";let...
function Cie (line 177) | function Cie(s,e,t,i){let n=s.node;if(Fc(n)&&!Lb(n))return!0;switch(n.ty...
function wie (line 177) | function wie(s){if(CH(s)){let e=s.left||s.id;return e.type==="ObjectPatt...
function Ay (line 177) | function Ay(s){return s.type==="AssignmentExpression"}
function CH (line 177) | function CH(s){return Ay(s)||s.type==="VariableDeclarator"}
function yie (line 177) | function yie(s){let e=Die(s);if(mi(e)){let t=s.type==="TSTypeAliasDeclar...
function Die (line 177) | function Die(s){var e;if(Sie(s))return(e=s.typeParameters)==null?void 0:...
function Lie (line 177) | function Lie(s){if(s.type!=="VariableDeclarator")return!1;let{typeAnnota...
function wH (line 177) | function wH(s){var e;return s.type==="VariableDeclarator"&&((e=s.init)==...
function W5 (line 177) | function W5(s){var e;if(xie(s))return(e=s.typeArguments??s.typeParameter...
function yH (line 177) | function yH(s,e,t,i=!1){var n;let{node:o}=s,r=()=>yH(s,e,t,!0);if(o.type...
function kie (line 177) | function kie(s,e,t){return Qc(s)?(e=yP(e),typeof e=="string"&&Qm(e)<t.ta...
function Eie (line 177) | function Eie(s,e){let t=Iie(s);if(mi(t)){if(t.length>1)return!0;if(t.len...
function Iie (line 177) | function Iie(s){var e;return(e=s.typeParameters??s.typeArguments)==null?...
function Tie (line 177) | function Tie(s){function e(t){switch(t.type){case"FunctionTypeAnnotation...
function np (line 177) | function np(s,e,t,i,n){let o=s.node,r=uo(o),a=n?vf(s,t,e):"";if(r.length...
function SH (line 177) | function SH(s){if(!s)return!1;let e=uo(s);if(e.length!==1)return!1;let[t...
function Nie (line 177) | function Nie(s){let e;return s.returnType?(e=s.returnType,e.typeAnnotati...
function i0 (line 177) | function i0(s,e){var t;let i=Nie(s);if(!i)return!1;let n=(t=s.typeParame...
function Aie (line 177) | function Aie(s){return s.match(e=>e.type==="ArrowFunctionExpression"&&e....
function Mie (line 177) | function Mie(s){let e=uo(s);return e.length>1&&e.some(t=>t.type==="TSPar...
function Fie (line 177) | function Fie(s){let{types:e}=s;if(e.some(i=>Re(i)))return!1;let t=e.find...
function DH (line 177) | function DH(s){return _P(s)||_h(s)?!0:bh(s)?Fie(s):!1}
function Oie (line 177) | function Oie(s,e,t){let i=e.semi?";":"",{node:n}=s,o=[or(s),"opaque type...
function LH (line 177) | function LH(s,e,t){let i=e.semi?";":"",{node:n}=s,o=[or(s)];o.push("type...
function xH (line 177) | function xH(s,e,t){let i=!1;return re(s.map(({isFirst:n,previous:o,node:...
function kH (line 177) | function kH(s,e,t){let{node:i}=s,{parent:n}=s,o=n.type!=="TypeParameterI...
function Bie (line 177) | function Bie(s){var e;let{node:t,parent:i}=s;return t.type==="FunctionTy...
function EH (line 177) | function EH(s,e,t){let{node:i}=s,n=[WL(s)];(i.type==="TSConstructorType"...
function IH (line 177) | function IH(s,e,t){return[t("objectType"),ko(s),"[",t("indexType"),"]"]}
function TH (line 177) | function TH(s,e,t){return["infer ",t("typeParameter")]}
function H5 (line 177) | function H5(s,e,t){let{node:i}=s;return[i.postfix?"":t,Hs(s,e),i.postfix...
function NH (line 177) | function NH(s,e,t){let{node:i}=s;return["...",...i.type==="TupleTypeSpre...
function AH (line 177) | function AH(s,e,t){let{node:i}=s;return[i.variance?t("variance"):"",t("l...
function Hs (line 177) | function Hs(s,e,t="typeAnnotation"){let{node:{[t]:i}}=s;if(!i)return"";l...
function RH (line 177) | function RH(s,e,t){let i=MH(s);return i?[i," ",t("typeAnnotation")]:t("t...
function PH (line 177) | function PH(s){return[s("elementType"),"[]"]}
function FH (line 177) | function FH({node:s},e){let t=s.type==="TSTypeQuery"?"exprName":"argumen...
function OH (line 177) | function OH(s,e){let{node:t}=s;return[t.type==="TSTypePredicate"&&t.asse...
function ko (line 177) | function ko(s){let{node:e}=s;return!e.optional||e.type==="Identifier"&&e...
function BH (line 177) | function BH(s){return s.node.definite||s.match(void 0,(e,t)=>t==="id"&&e...
function or (line 177) | function or(s){let{node:e}=s;return e.declare||Hie.has(e.type)&&s.parent...
function WL (line 177) | function WL({node:s}){return s.abstract||Vie.has(s.type)?"abstract ":""}
function vf (line 177) | function vf(s,e,t){let i=s.node;return i.typeArguments?t("typeArguments"...
function WH (line 177) | function WH(s,e,t){return["::",t("callee")]}
function hu (line 177) | function hu(s,e,t){return s.type==="EmptyStatement"?";":s.type==="BlockS...
function HH (line 177) | function HH(s,e){return["...",e("argument"),Hs(s,e)]}
function LS (line 177) | function LS(s){return s.accessibility?s.accessibility+" ":""}
function zie (line 177) | function zie(s,e,t,i){let{node:n}=s,o=n.inexact?"...":"";return Re(n,Ze....
function TP (line 177) | function TP(s,e,t){let{node:i}=s,n=[],o=i.type==="TupleExpression"?"#[":...
function VH (line 177) | function VH(s,e){return zs(s)&&s.elements.length>1&&s.elements.every(t=>...
function zH (line 177) | function zH({node:s},{originalText:e}){let t=n=>uP(e,hP(e,n)),i=n=>e[n]=...
function Uie (line 177) | function Uie(s,e,t,i,n){let o=[];return s.each(({node:r,isLast:a})=>{o.p...
function $ie (line 177) | function $ie(s,e,t,i){let n=[];return s.each(({isLast:o,next:r})=>{n.pus...
function Gie (line 177) | function Gie(s){return s.length===1?s:s.toLowerCase().replace(/^([+-]?[\...
function UH (line 177) | function UH(s){return/^(?:\d+|\d+\.\d+)$/u.test(s)}
function V5 (line 177) | function V5(s,e){return e.parser==="json"||e.parser==="jsonc"||!sr(s.key...
function Zie (line 177) | function Zie(s,e){let{key:t}=s.node;return(t.type==="Identifier"||Pc(t)&...
function r1 (line 177) | function r1(s,e,t){let{node:i}=s;if(i.computed)return["[",t("key"),"]"];...
function SE (line 177) | function SE(s,e,t){let{node:i}=s;return i.shorthand?t("value"):o1(s,e,t,...
function $H (line 177) | function $H(s,e,t,i){if(Xie(s))return NP(s,t,e);let{node:n}=s,o=!1;if((n...
function UT (line 177) | function UT(s,e,t){let{node:i}=s,{kind:n}=i,o=i.value||i,r=[];return!n||...
function NP (line 177) | 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...
function Yie (line 177) | function Yie(s){let e=uo(s);return e.length===1&&!s.typeParameters&&!Re(...
function jH (line 177) | function jH(s,e){if(e.arrowParens==="always")return!1;if(e.arrowParens==...
function HL (line 177) | function HL(s,e){let{node:t}=s,i=[Hs(s,e,"returnType")];return t.predica...
function KH (line 177) | function KH(s,e,t){let{node:i}=s,n=e.semi?";":"",o=[];if(i.argument){let...
function Qie (line 177) | function Qie(s,e,t){return["return",KH(s,e,t)]}
function Jie (line 177) | function Jie(s,e,t){return["throw",KH(s,e,t)]}
function ene (line 177) | function ene(s,e){if(vh(s.originalText,e)||Re(e,Ze.Leading,t=>wh(s.origi...
function qH (line 177) | function qH(s){return DE.has(s)||DE.set(s,s.type==="ConditionalExpressio...
function tne (line 177) | function tne(s,e,t,i={}){let n=[],o,r=[],a=!1,l=!i.expandLastArg&&s.node...
function ine (line 177) | function ine(s,e,t,i){let{node:n}=s,o=[];if(n.async&&o.push("async "),jH...
function nne (line 177) | function nne(s,e,t){var i,n;return zs(s)||il(s)||s.type==="ArrowFunction...
function sne (line 177) | function sne(s,e,{signatureDocs:t,shouldBreak:i}){if(t.length===1)return...
function one (line 177) | function one(s,e,t,{bodyDoc:i,bodyComments:n,functionBody:o,shouldPutBod...
function $T (line 177) | function $T(s,e,t,i){let{node:n}=s,o=[],r=ane(!1,n[i],a=>a.type!=="Empty...
function ZH (line 177) | function ZH(s,e,t){let i=lne(s,e,t),{node:n,parent:o}=s;if(n.type==="Pro...
function lne (line 177) | function lne(s,e,t){let{node:i}=s,n=mi(i.directives),o=i.body.some(l=>l....
function dne (line 177) | function dne(s){let e=new WeakMap;return function(t){return e.has(t)||e....
function cne (line 177) | function cne(s){switch(s){case null:return"";case"PlusOptional":return"+...
function une (line 177) | function une(s,e,t){let{node:i}=s;return re([i.variance?t("variance"):""...
function YH (line 177) | function YH(s,e){return s==="+"||s==="-"?s+e:e}
function hne (line 177) | function hne(s,e,t){let{node:i}=s,n=e.objectWrap==="preserve"&&wh(e.orig...
function gne (line 177) | function gne(s,e,t){let{node:i}=s;return uo(i).length===1&&i.type.starts...
function Wv (line 177) | function Wv(s,e,t,i){let{node:n}=s;if(!n[i])return"";if(!Array.isArray(n...
function fne (line 177) | function fne(s,e){let{node:t}=s;if(!Re(t,Ze.Dangling))return"";let i=!Re...
function QH (line 177) | function QH(s,e,t){let{node:i,parent:n}=s,o=[i.const?"const ":""],r=i.ty...
function eV (line 177) | function eV(s,e,t){let{node:i}=s,n=[or(s),WL(s),"class"],o=Re(i.id,Ze.Tr...
function pne (line 177) | function pne(s){return Rt(Se,"",{groupId:tV(s)})}
function mne (line 177) | function mne(s){return["extends","mixins","implements"].reduce((e,t)=>e+...
function iV (line 177) | function iV(s){return s.typeParameters&&!Re(s.typeParameters,Ze.Trailing...
function LE (line 177) | function LE(s,e,t,i){let{node:n}=s;if(!mi(n[i]))return"";let o=gn(s,e,{m...
function _ne (line 177) | function _ne(s,e,t){let i=t("superClass"),{parent:n}=s;return n.type==="...
function nV (line 177) | function nV(s,e,t){let{node:i}=s,n=[];return mi(i.decorators)&&n.push(gH...
function sV (line 177) | function sV(s,e,t){let{node:i}=s,n=[],o=e.semi?";":"";mi(i.decorators)&&...
function vne (line 177) | function vne(s,e,t){let{node:i}=s,n=[];return s.each(({node:o,next:r,isL...
function bne (line 177) | function bne(s,e){var t;let{type:i,name:n}=s.key;if(!s.computed&&i==="Id...
function oV (line 177) | function oV(s){return Cne(s)?oV(s.expression):s}
function yne (line 177) | function yne(s){return s.type==="MemberExpression"||s.type==="OptionalMe...
function Sne (line 177) | function Sne(s,e){if(e.semi||aV(s,e)||lV(s,e))return!1;let{node:t,key:i,...
function rV (line 177) | function rV(s,e){let{node:t}=s;switch(t.type){case"ParenthesizedExpressi...
function aV (line 177) | function aV({node:s,parent:e},t){return(t.parentParser==="markdown"||t.p...
function lV (line 177) | function lV({node:s,parent:e},t){return(t.parser==="__vue_event_binding"...
function Dne (line 177) | function Dne(s,e,t){let i=[t("expression")];if(lV(s,e)){let n=oV(s.node....
function Lne (line 177) | function Lne(s,e,t){if(e.__isVueBindings||e.__isVueForBindingLeft){let i...
function xne (line 177) | function xne(s,e){let{node:t}=s;switch(t.type){case"RegExpLiteral":retur...
function kne (line 177) | function kne(s){if(s.key!=="expression")return;let{parent:e}=s;return e....
function jT (line 177) | function jT(s){return s.toLowerCase()}
function z5 (line 177) | function z5({pattern:s,flags:e}){return e=[...e].sort().join(""),`/${s}/...
function U5 (line 177) | function U5(s,e){let t=s.slice(1,-1);if(t.includes('"')||t.includes("'")...
function Ene (line 177) | function Ene(s,e,t){let i=s.originalText.slice(e,t);for(let n of s[Symbo...
function Ine (line 177) | function Ine(s,e,t){let{node:i}=s;return["import",i.phase?` ${i.phase}`:...
function uV (line 177) | function uV(s,e,t){let{node:i}=s,n=[oie(s,e,t),or(s),"export",cV(i)?" de...
function Nne (line 177) | function Nne(s,e){return e.semi&&(!s.declaration||cV(s)&&!Tne(s.declarat...
function MP (line 177) | function MP(s,e=!0){return s&&s!=="value"?`${e?" ":""}${s}${e?"":" "}`:""}
function hV (line 177) | function hV(s,e){return MP(s.importKind,e)}
function Ane (line 177) | function Ane(s){return MP(s.exportKind)}
function gV (line 177) | function gV(s,e,t){let{node:i}=s;if(!i.source)return"";let n=[];return p...
function fV (line 177) | function fV(s,e,t){let{node:i}=s;if(!pV(i,e))return"";let n=[" "];if(mi(...
function pV (line 177) | function pV(s,e){return s.type!=="ImportDeclaration"||mi(s.specifiers)||...
function Mne (line 177) | function Mne(s,e){var t,i;if((t=s.extra)!=null&&t.deprecatedAssertSyntax...
function mV (line 177) | function mV(s,e,t){let{node:i}=s;if(!i.source)return"";let n=Mne(i,e);if...
function Rne (line 177) | function Rne(s,e,t){let{node:i}=s,{type:n}=i,o=n.startsWith("Import"),r=...
function Pne (line 177) | function Pne(s){if(s.type!=="ImportSpecifier"&&s.type!=="ExportSpecifier...
function VL (line 177) | function VL(s,e,t){var i;let n=e.semi?";":"",{node:o}=s,r=o.type==="Obje...
function xE (line 177) | function xE(s,e){return(e==="params"||e==="parameters"||e==="this"||e===...
function Fne (line 177) | function Fne(s){let e=[s];for(let t=0;t<e.length;t++){let i=e[t];for(let...
function One (line 177) | function One(s,e,t){let{node:i}=s,n=i.type==="ConditionalExpression",o=n...
function Wne (line 177) | function Wne(s){let{node:e}=s;if(e.type!=="ConditionalExpression")return...
function Hne (line 177) | function Hne(s,e,t){let{node:i}=s,n=i.type==="ConditionalExpression",o=n...
function Vne (line 177) | function Vne(s,e){return(Rn(e)||e.type==="NGPipeExpression"&&e.left===s)...
function zne (line 177) | function zne(s,e,t,i){return[...s.map(n=>Dm(n)),Dm(e),Dm(t)].flat().some...
function $ne (line 177) | function $ne(s){let{node:e}=s;if(e.type!=="ConditionalExpression")return...
function RP (line 177) | function RP(s,e,t,i){if(!e.experimentalTernaries)return Hne(s,e,t);let{n...
function jne (line 177) | function jne(s,e,t,i){let{node:n}=s;if(mP(n))return xne(s,e);let o=e.sem...
function _V (line 177) | function _V(s,e,t){let{parent:i,node:n,key:o}=s,r=[t("expression")];swit...
function Kne (line 177) | function Kne(s,e,t){let{node:i}=s,n=[or(s),"component"];i.id&&n.push(" "...
function qne (line 177) | function qne(s,e,t){let{node:i}=s,n=i.params;if(i.rest&&(n=[...n,i.rest]...
function Gne (line 177) | function Gne(s,e){var t;return s.rest||((t=Si(!1,e,-1))==null?void 0:t.t...
function Zne (line 177) | function Zne(s,e){let{node:t}=s,i=0,n=o=>e(o,i++);s.each(n,"params"),t.r...
function Xne (line 177) | function Xne(s,e,t){let{node:i}=s;return i.shorthand?t("local"):[t("name...
function Yne (line 177) | function Yne(s,e,t){let{node:i}=s,n=[];return i.name&&n.push(t("name"),i...
function vV (line 177) | function vV(s,e,t){return VL(s,t,e)}
function bV (line 177) | function bV(s,e){let{node:t}=s,i=e("id");t.computed&&(i=["[",i,"]"]);let...
function Qne (line 177) | function Qne(s,e,t){let{node:i}=s,n;if(i.type==="EnumSymbolBody"||i.expl...
function CV (line 177) | function CV(s,e,t){let{node:i}=s;return[or(s),i.const?"const ":"","enum ...
function Jne (line 177) | function Jne(s,e,t){let{node:i}=s,n=["hook"];i.id&&n.push(" ",t("id"));l...
function ese (line 177) | function ese(s,e,t){let{node:i}=s,n=[or(s),"hook"];return i.id&&n.push("...
function $5 (line 177) | function $5(s){var e;let{node:t}=s;return t.type==="HookTypeAnnotation"&...
function tse (line 177) | function tse(s,e,t){let{node:i}=s,n=[];n.push($5(s)?"":"hook ");let o=np...
function wV (line 177) | function wV(s,e,t){let{node:i}=s,n=[or(s),"interface"],o=[],r=[];i.type!...
function ise (line 177) | function ise(s,e,t){let{node:i}=s;if(SW(i))return i.type.slice(0,-14).to...
function nse (line 177) | function nse(s,e,t){var i;let{node:n}=s;if(!n.type.startsWith("TS"))retu...
function sse (line 177) | function sse(s,e,t,i){if(uH(s))return bte(s,e);for(let n of[iie,Zte,ise,...
function rse (line 177) | function rse(s,e,t,i){var n;s.isRoot&&((n=e.__onHtmlBindingRoot)==null||...
function fse (line 177) | function fse(s,e,t){let{node:i}=s;switch(i.type){case"JsonRoot":return[t...
function j5 (line 177) | function j5(s){return s.key==="key"&&s.parent.type==="ObjectProperty"}
function SV (line 177) | function SV(s,e){let{type:t}=s;if(t==="ObjectProperty"){let{key:i}=s;i.t...
function mr (line 177) | function mr(s,e=0){return s[s.length-(1+e)]}
function wse (line 177) | function wse(s){if(s.length===0)throw new Error("Invalid tail call");ret...
function Ci (line 177) | function Ci(s,e,t=(i,n)=>i===n){if(s===e)return!0;if(!s||!e||s.length!==...
function yse (line 177) | function yse(s,e){const t=s.length-1;e<t&&(s[e]=s[t]),s.pop()}
function xb (line 177) | function xb(s,e,t){return Sse(s.length,i=>t(s[i],e))}
function Sse (line 177) | function Sse(s,e){let t=0,i=s-1;for(;t<=i;){const n=(t+i)/2|0,o=e(n);if(...
function KT (line 177) | function KT(s,e,t){if(s=s|0,s>=e.length)throw new TypeError("invalid ind...
function K5 (line 177) | function K5(s,e){const t=[];let i;for(const n of s.slice(0).sort(e))!i||...
function DV (line 177) | function DV(s,e){for(let t=0;t<=s.length;t++)e(t===0?void 0:s[t-1],t===s...
function Dse (line 177) | function Dse(s,e){for(let t=0;t<s.length;t++)e(t===0?void 0:s[t-1],s[t],...
function pd (line 177) | function pd(s){return s.filter(e=>!!e)}
function q5 (line 177) | function q5(s){let e=0;for(let t=0;t<s.length;t++)s[t]&&(s[e]=s[t],e+=1)...
function LV (line 177) | function LV(s){return!Array.isArray(s)||s.length===0}
function rs (line 177) | function rs(s){return Array.isArray(s)&&s.length>0}
function Wc (line 177) | function Wc(s,e=t=>t){const t=new Set;return s.filter(i=>{const n=e(i);r...
function FP (line 177) | function FP(s,e){return s.length>0?s[0]:e}
function to (line 177) | function to(s,e){let t=typeof e=="number"?s:0;typeof e=="number"?t=s:(t=...
function zL (line 177) | function zL(s,e,t){const i=s.slice(0,e),n=s.slice(e);return i.concat(t,n)}
function EE (line 177) | function EE(s,e){const t=s.indexOf(e);t>-1&&(s.splice(t,1),s.unshift(e))}
function aw (line 177) | function aw(s,e){const t=s.indexOf(e);t>-1&&(s.splice(t,1),s.push(e))}
function qT (line 177) | function qT(s,e){for(const t of e)s.push(t)}
function OP (line 177) | function OP(s){return Array.isArray(s)?s:[s]}
function Lse (line 177) | function Lse(s,e,t){const i=xV(s,e),n=s.length,o=t.length;s.length=n+o;f...
function G5 (line 177) | function G5(s,e,t,i){const n=xV(s,e);let o=s.splice(n,t);return o===void...
function xV (line 177) | function xV(s,e){return e<0?Math.max(e+s.length,0):Math.min(e,s.length)}
function e (line 177) | function e(o){return o<0}
method constructor (line 239) | constructor(b){super(b),this._inSelectionMode=b.inSelectionMode}
method runCoreEditorCommand (line 239) | runCoreEditorCommand(b,C){if(!C.position)return;b.model.pushStackEleme...
method runEditorCommand (line 239) | runEditorCommand(i,n,o){const r=n._getViewModel();r&&this.runCoreEditi...
method constructor (line 832) | constructor(i,n,o,r){this.actions=i,this.trigger=n,this.editorPosition...
method constructor (line 832) | constructor(i,n,o){this.trigger=i,this.position=n,this._cancellablePro...
method cancel (line 832) | cancel(){this._cancellablePromise.cancel()}
method constructor (line 879) | constructor(n,o){this.request=n,this.previouslyActiveHints=o,this.type=2}
function t (line 177) | function t(o){return o<=0}
method runCoreEditorCommand (line 239) | runCoreEditorCommand(b,C){b.model.pushStackElement();const w=this._get...
method constructor (line 879) | constructor(n){this.hints=n,this.type=1}
function i (line 177) | function i(o){return o>0}
method constructor (line 239) | constructor(b){super(b),this._isPaged=b.isPaged}
method _getColumnSelectResult (line 239) | _getColumnSelectResult(b,C,w,y){return Hg.columnSelectUp(b.cursorConfi...
function n (line 177) | function n(o){return o===0}
method constructor (line 239) | constructor(b){super(b),this._isPaged=b.isPaged}
method _getColumnSelectResult (line 239) | _getColumnSelectResult(b,C,w,y){return Hg.columnSelectDown(b.cursorCon...
function ao (line 177) | function ao(s,e){return(t,i)=>e(s(t),s(i))}
function xse (line 177) | function xse(...s){return(e,t)=>{for(const i of s){const n=i(e,t);if(!kb...
function kV (line 177) | function kV(s){return(e,t)=>-s(e,t)}
class Hc (line 177) | class Hc{constructor(e){this.items=e,this.firstIdx=0,this.lastIdx=this.i...
method constructor (line 177) | constructor(e){this.items=e,this.firstIdx=0,this.lastIdx=this.items.le...
method length (line 177) | get length(){return this.lastIdx-this.firstIdx+1}
method takeWhile (line 177) | takeWhile(e){let t=this.firstIdx;for(;t<this.items.length&&e(this.item...
method takeFromEndWhile (line 177) | takeFromEndWhile(e){let t=this.lastIdx;for(;t>=0&&e(this.items[t]);)t-...
method peek (line 177) | peek(){if(this.length!==0)return this.items[this.firstIdx]}
method dequeue (line 177) | dequeue(){const e=this.items[this.firstIdx];return this.firstIdx++,e}
method takeCount (line 177) | takeCount(e){const t=this.items.slice(this.firstIdx,this.firstIdx+e);r...
class od (line 177) | class od{constructor(e){this.iterate=e}toArray(){const e=[];return this....
method constructor (line 177) | constructor(e){this.iterate=e}
method toArray (line 177) | toArray(){const e=[];return this.iterate(t=>(e.push(t),!0)),e}
method filter (line 177) | filter(e){return new od(t=>this.iterate(i=>e(i)?t(i):!0))}
method map (line 177) | map(e){return new od(t=>this.iterate(i=>t(e(i))))}
method findLast (line 177) | findLast(e){let t;return this.iterate(i=>(e(i)&&(t=i),!0)),t}
method findLastMaxBy (line 177) | findLastMaxBy(e){let t,i=!0;return this.iterate(n=>((i||kb.isGreaterTh...
class xS (line 177) | class xS{constructor(e){this._indexMap=e}static createSortPermutation(e,...
method constructor (line 177) | constructor(e){this._indexMap=e}
method createSortPermutation (line 177) | static createSortPermutation(e,t){const i=Array.from(e.keys()).sort((n...
method apply (line 177) | apply(e){return e.map((t,i)=>e[this._indexMap[i]])}
method inverse (line 177) | inverse(){const e=this._indexMap.slice();for(let t=0;t<this._indexMap....
function lo (line 177) | function lo(s){return typeof s=="string"}
function Ms (line 177) | function Ms(s){return typeof s=="object"&&s!==null&&!Array.isArray(s)&&!...
function Ese (line 177) | function Ese(s){const e=Object.getPrototypeOf(Uint8Array);return typeof ...
function yh (line 177) | function yh(s){return typeof s=="number"&&!isNaN(s)}
function Z5 (line 177) | function Z5(s){return!!s&&typeof s[Symbol.iterator]=="function"}
function EV (line 177) | function EV(s){return s===!0||s===!1}
function oo (line 177) | function oo(s){return typeof s>"u"}
function rd (line 177) | function rd(s){return!Go(s)}
function Go (line 177) | function Go(s){return oo(s)||s===null}
function yt (line 177) | function yt(s,e){if(!s)throw new Error(e?`Unexpected type, expected '${e...
function Ou (line 177) | function Ou(s){if(Go(s))throw new Error("Assertion Failed: argument is u...
function kS (line 177) | function kS(s){return typeof s=="function"}
function Ise (line 177) | function Ise(s,e){const t=Math.min(s.length,e.length);for(let i=0;i<t;i+...
function Tse (line 177) | function Tse(s,e){if(lo(e)){if(typeof s!==e)throw new Error(`argument do...
function Jd (line 177) | function Jd(s){if(!s||typeof s!="object"||s instanceof RegExp)return s;c...
function Nse (line 177) | function Nse(s){if(!s||typeof s!="object")return s;const e=[s];for(;e.le...
function TV (line 177) | function TV(s,e){return GT(s,e,new Set)}
function GT (line 177) | function GT(s,e,t){if(Go(s))return s;const i=e(s);if(typeof i<"u")return...
function UL (line 177) | function UL(s,e,t=!0){return Ms(s)?(Ms(e)&&Object.keys(e).forEach(i=>{i ...
function tr (line 177) | function tr(s,e){if(s===e)return!0;if(s==null||e===null||e===void 0||typ...
function Ase (line 177) | function Ase(s){let e=[];for(;Object.prototype!==s;)e=e.concat(Object.ge...
function BP (line 177) | function BP(s){const e=[];for(const t of Ase(s))typeof s[t]=="function"&...
function Mse (line 177) | function Mse(s,e){const t=n=>function(){const o=Array.prototype.slice.ca...
function NV (line 177) | function NV(s,e){let t;return e.length===0?t=s:t=s.replace(/\{(\d+)\}/g,...
function p (line 177) | function p(s,e,...t){return NV(e,t)}
function Ve (line 177) | function Ve(s,e,...t){const i=NV(e,t);return{value:i,original:i}}
function FV (line 177) | function FV(){if(!Q5){Q5=!0;const s=new Uint8Array(2);s[0]=1,s[1]=2,Y5=n...
function e (line 177) | function e(C){return C&&typeof C=="object"&&typeof C[Symbol.iterator]=="...
method constructor (line 239) | constructor(b){super(b),this._inSelectionMode=b.inSelectionMode}
method runCoreEditorCommand (line 239) | runCoreEditorCommand(b,C){if(!C.position)return;b.model.pushStackEleme...
method runEditorCommand (line 239) | runEditorCommand(i,n,o){const r=n._getViewModel();r&&this.runCoreEditi...
method constructor (line 832) | constructor(i,n,o,r){this.actions=i,this.trigger=n,this.editorPosition...
method constructor (line 832) | constructor(i,n,o){this.trigger=i,this.position=n,this._cancellablePro...
method cancel (line 832) | cancel(){this._cancellablePromise.cancel()}
method constructor (line 879) | constructor(n,o){this.request=n,this.previouslyActiveHints=o,this.type=2}
function i (line 177) | function i(){return t}
method constructor (line 239) | constructor(b){super(b),this._isPaged=b.isPaged}
method _getColumnSelectResult (line 239) | _getColumnSelectResult(b,C,w,y){return Hg.columnSelectUp(b.cursorConfi...
function o (line 177) | function o(C){return e(C)?C:n(C)}
method constructor (line 239) | constructor(){super({id:"cursorMove",precondition:void 0,metadata:rD.m...
method runCoreEditorCommand (line 239) | runCoreEditorCommand(b,C){const w=rD.parse(C);w&&this._runCursorMove(b...
method _runCursorMove (line 239) | _runCursorMove(b,C,w){b.model.pushStackElement(),b.setCursorStates(C,3...
method _move (line 239) | static _move(b,C,w){const y=w.select,D=w.value;switch(w.direction){cas...
function r (line 177) | function r(C){return C||t}
method constructor (line 239) | constructor(b){super(b),this._staticArgs=b.args}
method runCoreEditorCommand (line 239) | runCoreEditorCommand(b,C){let w=this._staticArgs;this._staticArgs.valu...
function l (line 177) | function l(C){return!C||C[Symbol.iterator]().next().done===!0}
method constructor (line 239) | constructor(b){super(b),this._inSelectionMode=b.inSelectionMode}
method runCoreEditorCommand (line 239) | runCoreEditorCommand(b,C){b.model.pushStackElement(),b.setCursorStates...
method _exec (line 239) | _exec(b){const C=[];for(let w=0,y=b.length;w<y;w++){const D=b[w],L=D.m...
function d (line 177) | function d(C){return C[Symbol.iterator]().next().value}
method constructor (line 239) | constructor(b){super(b),this._inSelectionMode=b.inSelectionMode}
method runCoreEditorCommand (line 239) | runCoreEditorCommand(b,C){b.model.pushStackElement(),b.setCursorStates...
function c (line 177) | function c(C,w){for(const y of C)if(w(y))return!0;return!1}
method constructor (line 239) | constructor(b){super(b),this._inSelectionMode=b.inSelectionMode}
method runCoreEditorCommand (line 239) | runCoreEditorCommand(b,C){b.model.pushStackElement(),b.setCursorStates...
method _exec (line 239) | _exec(b,C){const w=[];for(let y=0,D=C.length;y<D;y++){const L=C[y],k=L...
function u (line 177) | function u(C,w){for(const y of C)if(w(y))return y}
method constructor (line 239) | constructor(b){super(b),this._inSelectionMode=b.inSelectionMode}
method runCoreEditorCommand (line 239) | runCoreEditorCommand(b,C){b.model.pushStackElement(),b.setCursorStates...
function m (line 177) | function m(C,w,y){let D=y;for(const L of C)D=w(D,L);return D}
method constructor (line 239) | constructor(b){super(b),this._inSelectionMode=b.inSelectionMode}
method runCoreEditorCommand (line 239) | runCoreEditorCommand(b,C){C.position&&(b.model.pushStackElement(),b.se...
function v (line 177) | function v(C,w=Number.POSITIVE_INFINITY){const y=[];if(w===0)return[y,C]...
function b (line 177) | async function b(C){const w=[];for await(const y of C)w.push(y);return P...
method constructor (line 184) | constructor(){this.steps=[]}
method map (line 184) | map(P){return this.steps.push(P),this}
method forEach (line 184) | forEach(P){return this.steps.push(F=>(P(F),F)),this}
method filter (line 184) | filter(P){return this.steps.push(F=>P(F)?F:v),this}
method reduce (line 184) | reduce(P,F){let V=F;return this.steps.push(U=>(V=P(V,U),V)),this}
method latch (line 184) | latch(P=(F,V)=>F===V){let F=!0,V;return this.steps.push(U=>{const J=F|...
method evaluate (line 184) | evaluate(P){for(const F of this.steps)if(P=F(P),P===v)break;return P}
method constructor (line 177) | constructor(e){this.element=e,this.next=ZT.Undefined,this.prev=ZT.Undefi...
class Rs (line 177) | class Rs{constructor(){this._first=nn.Undefined,this._last=nn.Undefined,...
method constructor (line 177) | constructor(){this._first=nn.Undefined,this._last=nn.Undefined,this._s...
method size (line 177) | get size(){return this._size}
method isEmpty (line 177) | isEmpty(){return this._first===nn.Undefined}
method clear (line 177) | clear(){let e=this._first;for(;e!==nn.Undefined;){const t=e.next;e.pre...
method unshift (line 177) | unshift(e){return this._insert(e,!1)}
method push (line 177) | push(e){return this._insert(e,!0)}
method _insert (line 177) | _insert(e,t){const i=new nn(e);if(this._first===nn.Undefined)this._fir...
method shift (line 177) | shift(){if(this._first!==nn.Undefined){const e=this._first.element;ret...
method pop (line 177) | pop(){if(this._last!==nn.Undefined){const e=this._last.element;return ...
method _remove (line 177) | _remove(e){if(e.prev!==nn.Undefined&&e.next!==nn.Undefined){const t=e....
method [Symbol.iterator] (line 177) | *[Symbol.iterator](){let e=this._first;for(;e!==nn.Undefined;)yield e.el...
function Kse (line 177) | function Kse(s=""){let e="(-?\\d*\\.\\d\\w*)|([^";for(const t of BV)s.in...
function zP (line 177) | function zP(s){let e=VP;if(s&&s instanceof RegExp)if(s.global)e=s;else{l...
function Eb (line 177) | function Eb(s,e,t,i,n){if(e=zP(e),n||(n=ft.first(WV)),t.length>n.maxLen)...
function qse (line 177) | function qse(s,e,t,i){let n;for(;n=s.exec(e);){const o=n.index||0;if(o<=...
class HV (line 177) | class HV{constructor(e){this._values=e}hasChanged(e){return this._values...
method constructor (line 177) | constructor(e){this._values=e}
method hasChanged (line 177) | hasChanged(e){return this._values[e]}
class VV (line 177) | class VV{constructor(){this.stableMinimapLayoutInput=null,this.stableFit...
method constructor (line 177) | constructor(){this.stableMinimapLayoutInput=null,this.stableFitMaxMini...
class hi (line 177) | class hi{constructor(e,t,i,n){this.id=e,this.name=t,this.defaultValue=i,...
method constructor (line 177) | constructor(e,t,i,n){this.id=e,this.name=t,this.defaultValue=i,this.sc...
method applyUpdate (line 177) | applyUpdate(e,t){return $L(e,t)}
method compute (line 177) | compute(e,t,i){return i}
class Hv (line 177) | class Hv{constructor(e,t){this.newValue=e,this.didChange=t}}
method constructor (line 177) | constructor(e,t){this.newValue=e,this.didChange=t}
function $L (line 177) | function $L(s,e){if(typeof s!="object"||typeof e!="object"||!s||!e)retur...
class a1 (line 177) | class a1{constructor(e){this.schema=void 0,this.id=e,this.name="_never_"...
method constructor (line 177) | constructor(e){this.schema=void 0,this.id=e,this.name="_never_",this.d...
method applyUpdate (line 177) | applyUpdate(e,t){return $L(e,t)}
method validate (line 177) | validate(e){return this.defaultValue}
class n0 (line 177) | class n0{constructor(e,t,i,n){this.id=e,this.name=t,this.defaultValue=i,...
method constructor (line 177) | constructor(e,t,i,n){this.id=e,this.name=t,this.defaultValue=i,this.sc...
method applyUpdate (line 177) | applyUpdate(e,t){return $L(e,t)}
method validate (line 177) | validate(e){return typeof e>"u"?this.defaultValue:e}
method compute (line 177) | compute(e,t,i){return i}
function xe (line 177) | function xe(s,e){return typeof s>"u"?e:s==="false"?!1:!!s}
class Ct (line 177) | class Ct extends n0{constructor(e,t,i,n=void 0){typeof n<"u"&&(n.type="b...
method constructor (line 177) | constructor(e,t,i,n=void 0){typeof n<"u"&&(n.type="boolean",n.default=...
method validate (line 177) | validate(e){return xe(e,this.defaultValue)}
function kg (line 177) | function kg(s,e,t,i){if(typeof s>"u")return e;let n=parseInt(s,10);retur...
class zt (line 177) | class zt extends n0{static clampedInt(e,t,i,n){return kg(e,t,i,n)}constr...
method clampedInt (line 177) | static clampedInt(e,t,i,n){return kg(e,t,i,n)}
method constructor (line 177) | constructor(e,t,i,n,o,r=void 0){typeof r<"u"&&(r.type="integer",r.defa...
method validate (line 177) | validate(e){return zt.clampedInt(e,this.defaultValue,this.minimum,this...
function Gse (line 177) | function Gse(s,e,t,i){if(typeof s>"u")return e;const n=kr.float(s,e);ret...
class kr (line 177) | class kr extends n0{static clamp(e,t,i){return e<t?t:e>i?i:e}static floa...
method clamp (line 177) | static clamp(e,t,i){return e<t?t:e>i?i:e}
method float (line 177) | static float(e,t){if(typeof e=="number")return e;if(typeof e>"u")retur...
method constructor (line 177) | constructor(e,t,i,n,o){typeof o<"u"&&(o.type="number",o.default=i),sup...
method validate (line 177) | validate(e){return this.validationFn(kr.float(e,this.defaultValue))}
class ks (line 177) | class ks extends n0{static string(e,t){return typeof e!="string"?t:e}con...
method string (line 177) | static string(e,t){return typeof e!="string"?t:e}
method constructor (line 177) | constructor(e,t,i,n=void 0){typeof n<"u"&&(n.type="string",n.default=i...
method validate (line 177) | validate(e){return ks.string(e,this.defaultValue)}
function Ii (line 177) | function Ii(s,e,t,i){return typeof s!="string"?e:i&&s in i?i[s]:t.indexO...
class yi (line 177) | class yi extends n0{constructor(e,t,i,n,o=void 0){typeof o<"u"&&(o.type=...
method constructor (line 177) | constructor(e,t,i,n,o=void 0){typeof o<"u"&&(o.type="string",o.enum=n,...
method validate (line 177) | validate(e){return Ii(e,this.defaultValue,this._allowedValues)}
class dw (line 177) | class dw extends hi{constructor(e,t,i,n,o,r,a=void 0){typeof a<"u"&&(a.t...
method constructor (line 177) | constructor(e,t,i,n,o,r,a=void 0){typeof a<"u"&&(a.type="string",a.enu...
method validate (line 177) | validate(e){return typeof e!="string"?this.defaultValue:this._allowedV...
function Zse (line 177) | function Zse(s){switch(s){case"none":return 0;case"keep":return 1;case"b...
class Xse (line 177) | class Xse extends hi{constructor(){super(2,"accessibilitySupport",0,{typ...
method constructor (line 177) | constructor(){super(2,"accessibilitySupport",0,{type:"string",enum:["a...
method validate (line 177) | validate(e){switch(e){case"auto":return 0;case"off":return 1;case"on":...
method compute (line 177) | compute(e,t,i){return i===0?e.accessibilitySupport:i}
class Yse (line 177) | class Yse extends hi{constructor(){const e={insertSpace:!0,ignoreEmptyLi...
method constructor (line 177) | constructor(){const e={insertSpace:!0,ignoreEmptyLines:!0};super(23,"c...
method validate (line 177) | validate(e){if(!e||typeof e!="object")return this.defaultValue;const t...
function Qse (line 177) | function Qse(s){switch(s){case"blink":return 1;case"smooth":return 2;cas...
function Jse (line 177) | function Jse(s){switch(s){case"line":return Hn.Line;case"block":return H...
class eoe (line 177) | class eoe extends a1{constructor(){super(142)}compute(e,t,i){const n=["m...
method constructor (line 177) | constructor(){super(142)}
method compute (line 177) | compute(e,t,i){const n=["monaco-editor"];return t.get(39)&&n.push(t.ge...
class toe (line 177) | class toe extends Ct{constructor(){super(37,"emptySelectionClipboard",!0...
method constructor (line 177) | constructor(){super(37,"emptySelectionClipboard",!0,{description:p("em...
method compute (line 177) | compute(e,t,i){return i&&e.emptySelectionClipboard}
class ioe (line 177) | class ioe extends hi{constructor(){const e={cursorMoveOnType:!0,seedSear...
method constructor (line 177) | constructor(){const e={cursorMoveOnType:!0,seedSearchStringFromSelecti...
method validate (line 177) | validate(e){if(!e||typeof e!="object")return this.defaultValue;const t...
class Zo (line 177) | class Zo extends hi{constructor(){super(51,"fontLigatures",Zo.OFF,{anyOf...
method constructor (line 177) | constructor(){super(51,"fontLigatures",Zo.OFF,{anyOf:[{type:"boolean",...
method validate (line 177) | validate(e){return typeof e>"u"?this.defaultValue:typeof e=="string"?e...
class $a (line 177) | class $a extends hi{constructor(){super(54,"fontVariations",$a.OFF,{anyO...
method constructor (line 177) | constructor(){super(54,"fontVariations",$a.OFF,{anyOf:[{type:"boolean"...
method validate (line 177) | validate(e){return typeof e>"u"?this.defaultValue:typeof e=="string"?e...
method compute (line 177) | compute(e,t,i){return e.fontInfo.fontVariationSettings}
class noe (line 177) | class noe extends a1{constructor(){super(50)}compute(e,t,i){return e.fon...
method constructor (line 177) | constructor(){super(50)}
method compute (line 177) | compute(e,t,i){return e.fontInfo}
class soe (line 177) | class soe extends n0{constructor(){super(52,"fontSize",co.fontSize,{type...
method constructor (line 177) | constructor(){super(52,"fontSize",co.fontSize,{type:"number",minimum:6...
method validate (line 177) | validate(e){const t=kr.float(e,this.defaultValue);return t===0?co.font...
method compute (line 177) | compute(e,t,i){return e.fontInfo.fontSize}
class Vl (line 177) | class Vl extends hi{constructor(){super(53,"fontWeight",co.fontWeight,{a...
method constructor (line 177) | constructor(){super(53,"fontWeight",co.fontWeight,{anyOf:[{type:"numbe...
method validate (line 177) | validate(e){return e==="normal"||e==="bold"?e:String(zt.clampedInt(e,c...
class ooe (line 177) | class ooe extends hi{constructor(){const e={multiple:"peek",multipleDefi...
method constructor (line 177) | constructor(){const e={multiple:"peek",multipleDefinitions:"peek",mult...
method validate (line 177) | validate(e){var t,i,n,o,r;if(!e||typeof e!="object")return this.defaul...
class roe (line 177) | class roe extends hi{constructor(){const e={enabled:!0,delay:300,hidingD...
method constructor (line 177) | constructor(){const e={enabled:!0,delay:300,hidingDelay:300,sticky:!0,...
method validate (line 177) | validate(e){if(!e||typeof e!="object")return this.defaultValue;const t...
class Lm (line 177) | class Lm extends a1{constructor(){super(145)}compute(e,t,i){return Lm.co...
method constructor (line 177) | constructor(){super(145)}
method compute (line 177) | compute(e,t,i){return Lm.computeLayout(t,{memory:e.memory,outerWidth:e...
method computeContainedMinimapLineCount (line 177) | static computeContainedMinimapLineCount(e){const t=e.height/e.lineHeig...
method _computeMinimapLayout (line 177) | static _computeMinimapLayout(e,t){const i=e.outerWidth,n=e.outerHeight...
method computeLayout (line 177) | static computeLayout(e,t){const i=t.outerWidth|0,n=t.outerHeight|0,o=t...
class aoe (line 177) | class aoe extends hi{constructor(){super(139,"wrappingStrategy","simple"...
method constructor (line 177) | constructor(){super(139,"wrappingStrategy","simple",{"editor.wrappingS...
method validate (line 177) | validate(e){return Ii(e,"simple",["simple","advanced"])}
method compute (line 177) | compute(e,t,i){return t.get(2)===2?"advanced":i}
class loe (line 177) | class loe extends hi{constructor(){const e={enabled:ia.On};super(65,"lig...
method constructor (line 177) | constructor(){const e={enabled:ia.On};super(65,"lightbulb",e,{"editor....
method validate (line 177) | validate(e){return!e||typeof e!="object"?this.defaultValue:{enabled:Ii...
class doe (line 177) | class doe extends hi{constructor(){const e={enabled:!0,maxLineCount:5,de...
method constructor (line 177) | constructor(){const e={enabled:!0,maxLineCount:5,defaultModel:"outline...
method validate (line 177) | validate(e){if(!e||typeof e!="object")return this.defaultValue;const t...
class coe (line 177) | class coe extends hi{constructor(){const e={enabled:"on",fontSize:0,font...
method constructor (line 177) | constructor(){const e={enabled:"on",fontSize:0,fontFamily:"",padding:!...
method validate (line 177) | validate(e){if(!e||typeof e!="object")return this.defaultValue;const t...
class uoe (line 177) | class uoe extends hi{constructor(){super(66,"lineDecorationsWidth",10)}v...
method constructor (line 177) | constructor(){super(66,"lineDecorationsWidth",10)}
method validate (line 177) | validate(e){return typeof e=="string"&&/^\d+(\.\d+)?ch$/.test(e)?-pars...
method compute (line 177) | compute(e,t,i){return i<0?zt.clampedInt(-i*e.fontInfo.typicalHalfwidth...
class hoe (line 177) | class hoe extends kr{constructor(){super(67,"lineHeight",co.lineHeight,e...
method constructor (line 177) | constructor(){super(67,"lineHeight",co.lineHeight,e=>kr.clamp(e,0,150)...
method compute (line 180) | compute(e,t,i){return e.fontInfo.lineHeight}
class goe (line 180) | class goe extends hi{constructor(){const e={enabled:!0,size:"proportiona...
method constructor (line 180) | constructor(){const e={enabled:!0,size:"proportional",side:"right",sho...
method validate (line 180) | validate(e){var t;if(!e||typeof e!="object")return this.defaultValue;c...
function foe (line 180) | function foe(s){return s==="ctrlCmd"?lt?"metaKey":"ctrlKey":"altKey"}
class poe (line 180) | class poe extends hi{constructor(){super(84,"padding",{top:0,bottom:0},{...
method constructor (line 180) | constructor(){super(84,"padding",{top:0,bottom:0},{"editor.padding.top...
method validate (line 180) | validate(e){if(!e||typeof e!="object")return this.defaultValue;const t...
class moe (line 180) | class moe extends hi{constructor(){const e={enabled:!0,cycle:!0};super(8...
method constructor (line 180) | constructor(){const e={enabled:!0,cycle:!0};super(86,"parameterHints",...
method validate (line 180) | validate(e){if(!e||typeof e!="object")return this.defaultValue;const t...
class _oe (line 180) | class _oe extends a1{constructor(){super(143)}compute(e,t,i){return e.pi...
method constructor (line 180) | constructor(){super(143)}
method compute (line 180) | compute(e,t,i){return e.pixelRatio}
class voe (line 180) | class voe extends hi{constructor(){const e={other:"on",comments:"off",st...
method constructor (line 180) | constructor(){const e={other:"on",comments:"off",strings:"off"},t=[{ty...
method validate (line 180) | validate(e){if(typeof e=="boolean"){const d=e?"on":"off";return{commen...
class boe (line 180) | class boe extends hi{constructor(){super(68,"lineNumbers",{renderType:1,...
method constructor (line 180) | constructor(){super(68,"lineNumbers",{renderType:1,renderFn:null},{typ...
method validate (line 180) | validate(e){let t=this.defaultValue.renderType,i=this.defaultValue.ren...
function TS (line 180) | function TS(s){const e=s.get(98);return e==="editable"?s.get(91):e!=="on"}
class Coe (line 180) | class Coe extends hi{constructor(){const e=[],t={type:"number",descripti...
method constructor (line 180) | constructor(){const e=[],t={type:"number",description:p("rulers.size",...
method validate (line 180) | validate(e){if(Array.isArray(e)){const t=[];for(const i of e)if(typeof...
class woe (line 180) | class woe extends hi{constructor(){super(92,"readOnlyMessage",void 0)}va...
method constructor (line 180) | constructor(){super(92,"readOnlyMessage",void 0)}
method validate (line 180) | validate(e){return!e||typeof e!="object"?this.defaultValue:e}
function J5 (line 180) | function J5(s,e){if(typeof s!="string")return e;switch(s){case"hidden":r...
method constructor (line 180) | constructor(){const e={vertical:1,horizontal:1,arrowSize:11,useShadows:!...
method validate (line 180) | validate(e){if(!e||typeof e!="object")return this.defaultValue;const t=e...
class Soe (line 180) | class Soe extends hi{constructor(){const e={nonBasicASCII:zo,invisibleCh...
method constructor (line 180) | constructor(){const e={nonBasicASCII:zo,invisibleCharacters:!0,ambiguo...
method applyUpdate (line 180) | applyUpdate(e,t){let i=!1;t.allowedCharacters&&e&&(tr(e.allowedCharact...
method validate (line 180) | validate(e){if(!e||typeof e!="object")return this.defaultValue;const t...
method validateBooleanMap (line 180) | validateBooleanMap(e,t){if(typeof e!="object"||!e)return t;const i={};...
class Doe (line 180) | class Doe extends hi{constructor(){const e={enabled:!0,mode:"subwordSmar...
method constructor (line 180) | constructor(){const e={enabled:!0,mode:"subwordSmart",showToolbar:"onH...
method validate (line 180) | validate(e){if(!e||typeof e!="object")return this.defaultValue;const t...
class Loe (line 180) | class Loe extends hi{constructor(){const e={enabled:!1,showToolbar:"onHo...
method constructor (line 180) | constructor(){const e={enabled:!1,showToolbar:"onHover",fontFamily:"de...
method validate (line 180) | validate(e){if(!e||typeof e!="object")return this.defaultValue;const t...
class xoe (line 180) | class xoe extends hi{constructor(){const e={enabled:ns.bracketPairColori...
method constructor (line 180) | constructor(){const e={enabled:ns.bracketPairColorizationOptions.enabl...
method validate (line 180) | validate(e){if(!e||typeof e!="object")return this.defaultValue;const t...
class koe (line 180) | class koe extends hi{constructor(){const e={bracketPairs:!1,bracketPairs...
method constructor (line 180) | constructor(){const e={bracketPairs:!1,bracketPairsHorizontal:"active"...
method validate (line 180) | validate(e){if(!e||typeof e!="object")return this.defaultValue;const t...
function xm (line 180) | function xm(s,e,t){const i=t.indexOf(s);return i===-1?e:t[i]}
class Eoe (line 180) | class Eoe extends hi{constructor(){const e={insertMode:"insert",filterGr...
method constructor (line 180) | constructor(){const e={insertMode:"insert",filterGraceful:!0,snippetsP...
method validate (line 180) | validate(e){if(!e||typeof e!="object")return this.defaultValue;const t...
class Ioe (line 180) | class Ioe extends hi{constructor(){super(113,"smartSelect",{selectLeadin...
method constructor (line 180) | constructor(){super(113,"smartSelect",{selectLeadingAndTrailingWhitesp...
method validate (line 180) | validate(e){return!e||typeof e!="object"?this.defaultValue:{selectLead...
class Toe (line 180) | class Toe extends hi{constructor(){const e=[];super(130,"wordSegmenterLo...
method constructor (line 180) | constructor(){const e=[];super(130,"wordSegmenterLocales",e,{anyOf:[{d...
method validate (line 180) | validate(e){if(typeof e=="string"&&(e=[e]),Array.isArray(e)){const t=[...
class Noe (line 180) | class Noe extends hi{constructor(){super(138,"wrappingIndent",1,{"editor...
method constructor (line 180) | constructor(){super(138,"wrappingIndent",1,{"editor.wrappingIndent":{t...
method validate (line 180) | validate(e){switch(e){case"none":return 0;case"same":return 1;case"ind...
method compute (line 180) | compute(e,t,i){return t.get(2)===2?0:i}
class Aoe (line 180) | class Aoe extends a1{constructor(){super(146)}compute(e,t,i){const n=t.g...
method constructor (line 180) | constructor(){super(146)}
method compute (line 180) | compute(e,t,i){const n=t.get(145);return{isDominatedByLongLines:e.isDo...
class Moe (line 180) | class Moe extends hi{constructor(){const e={enabled:!0,showDropSelector:...
method constructor (line 180) | constructor(){const e={enabled:!0,showDropSelector:"afterDrop"};super(...
method validate (line 180) | validate(e){if(!e||typeof e!="object")return this.defaultValue;const t...
class Roe (line 180) | class Roe extends hi{constructor(){const e={enabled:!0,showPasteSelector...
method constructor (line 180) | constructor(){const e={enabled:!0,showPasteSelector:"afterPaste"};supe...
method validate (line 180) | validate(e){if(!e||typeof e!="object")return this.defaultValue;const t...
function ie (line 180) | function ie(s){return Jp[s.id]=s,s}
class Boe (line 180) | class Boe{constructor(){this.listeners=[],this.unexpectedErrorHandler=fu...
method constructor (line 180) | constructor(){this.listeners=[],this.unexpectedErrorHandler=function(e...
method emit (line 184) | emit(e){this.listeners.forEach(t=>{t(e)})}
method onUnexpectedError (line 184) | onUnexpectedError(e){this.unexpectedErrorHandler(e),this.emit(e)}
method onUnexpectedExternalError (line 184) | onUnexpectedExternalError(e){this.unexpectedErrorHandler(e)}
function Xe (line 184) | function Xe(s){Id(s)||zV.onUnexpectedError(s)}
function Ai (line 184) | function Ai(s){Id(s)||zV.onUnexpectedExternalError(s)}
function e3 (line 184) | function e3(s){if(s instanceof Error){const{name:e,message:t}=s,i=s.stac...
function Id (line 184) | function Id(s){return s instanceof sl?!0:s instanceof Error&&s.name===NS...
class sl (line 184) | class sl extends Error{constructor(){super(NS),this.name=this.message}}
method constructor (line 184) | constructor(){super(NS),this.name=this.message}
function Woe (line 184) | function Woe(){const s=new Error(NS);return s.name=s.message,s}
function Mr (line 184) | function Mr(s){return s?new Error(`Illegal argument: ${s}`):new Error("I...
function UP (line 184) | function UP(s){return s?new Error(`Illegal state: ${s}`):new Error("Ille...
class Hoe (line 184) | class Hoe extends Error{constructor(e){super("NotSupported"),e&&(this.me...
method constructor (line 184) | constructor(e){super("NotSupported"),e&&(this.message=e)}
class s_ (line 184) | class s_ extends Error{constructor(e){super(e),this.name="CodeExpectedEr...
method constructor (line 184) | constructor(e){super(e),this.name="CodeExpectedError"}
method fromError (line 184) | static fromError(e){if(e instanceof s_)return e;const t=new s_;return ...
method isErrorNoTelemetry (line 184) | static isErrorNoTelemetry(e){return e.name==="CodeExpectedError"}
class Ut (line 184) | class Ut extends Error{constructor(e){super(e||"An unexpected bug occurr...
method constructor (line 184) | constructor(e){super(e||"An unexpected bug occurred."),Object.setProto...
function o_ (line 184) | function o_(s,e){const t=this;let i=!1,n;return function(){return i||(i=...
function jL (line 184) | function jL(s){return typeof s=="object"&&s!==null&&typeof s.dispose=="f...
function jt (line 184) | function jt(s){if(ft.is(s)){const e=[];for(const t of s)if(t)try{t.dispo...
function ha (line 184) | function ha(...s){return Ie(()=>jt(s))}
function Ie (line 184) | function Ie(s){return{dispose:o_(()=>{s()})}}
class Y (line 184) | class Y{constructor(){this._toDispose=new Set,this._isDisposed=!1}dispos...
method constructor (line 184) | constructor(){this._toDispose=new Set,this._isDisposed=!1}
method dispose (line 184) | dispose(){this._isDisposed||(this._isDisposed=!0,this.clear())}
method isDisposed (line 184) | get isDisposed(){return this._isDisposed}
method clear (line 184) | clear(){if(this._toDispose.size!==0)try{jt(this._toDispose)}finally{th...
method add (line 184) | add(e){if(!e)return e;if(e===this)throw new Error("Cannot register a d...
method deleteAndLeak (line 184) | deleteAndLeak(e){e&&this._toDispose.has(e)&&this._toDispose.delete(e)}
class H (line 184) | class H{constructor(){this._store=new Y,this._store}dispose(){this._stor...
method constructor (line 184) | constructor(){this._store=new Y,this._store}
method dispose (line 184) | dispose(){this._store.dispose()}
method _register (line 184) | _register(e){if(e===this)throw new Error("Cannot register a disposable...
method dispose (line 184) | dispose(){}
class $n (line 184) | class $n{constructor(){this._isDisposed=!1}get value(){return this._isDi...
method constructor (line 184) | constructor(){this._isDisposed=!1}
method value (line 184) | get value(){return this._isDisposed?void 0:this._value}
method value (line 184) | set value(e){var t;this._isDisposed||e===this._value||((t=this._value)...
method clear (line 184) | clear(){this.value=void 0}
method dispose (line 184) | dispose(){var e;this._isDisposed=!0,(e=this._value)===null||e===void 0...
class Voe (line 184) | class Voe{constructor(e){this._disposable=e,this._counter=1}acquire(){re...
method constructor (line 184) | constructor(e){this._disposable=e,this._counter=1}
method acquire (line 184) | acquire(){return this._counter++,this}
method release (line 184) | release(){return--this._counter===0&&this._disposable.dispose(),this}
class zoe (line 184) | class zoe{constructor(e){this.object=e}dispose(){}}
method constructor (line 184) | constructor(e){this.object=e}
method dispose (line 184) | dispose(){}
class $P (line 184) | class $P{constructor(){this._store=new Map,this._isDisposed=!1}dispose()...
method constructor (line 184) | constructor(){this._store=new Map,this._isDisposed=!1}
method dispose (line 184) | dispose(){this._isDisposed=!0,this.clearAndDisposeAll()}
method clearAndDisposeAll (line 184) | clearAndDisposeAll(){if(this._store.size)try{jt(this._store.values())}...
method get (line 184) | get(e){return this._store.get(e)}
method set (line 184) | set(e,t,i=!1){var n;this._isDisposed&&console.warn(new Error("Trying t...
method deleteAndDispose (line 184) | deleteAndDispose(e){var t;(t=this._store.get(e))===null||t===void 0||t...
method [Symbol.iterator] (line 184) | [Symbol.iterator](){return this._store[Symbol.iterator]()}
class Jn (line 184) | class Jn{static create(e){return new Jn(e)}constructor(e){this._now=Uoe&...
method create (line 184) | static create(e){return new Jn(e)}
method constructor (line 184) | constructor(e){this._now=Uoe&&e===!1?Date.now:globalThis.performance.n...
method stop (line 184) | stop(){this._stopTime=this._now()}
method reset (line 184) | reset(){this._startTime=this._now(),this._stopTime=-1}
method elapsed (line 184) | elapsed(){return this._stopTime!==-1?this._stopTime-this._startTime:th...
function e (line 184) | function e(R,P){return u(R,()=>{},0,void 0,!0,void 0,P)}
method constructor (line 239) | constructor(b){super(b),this._inSelectionMode=b.inSelectionMode}
method runCoreEditorCommand (line 239) | runCoreEditorCommand(b,C){if(!C.position)return;b.model.pushStackEleme...
method runEditorCommand (line 239) | runEditorCommand(i,n,o){const r=n._getViewModel();r&&this.runCoreEditi...
method constructor (line 832) | constructor(i,n,o,r){this.actions=i,this.trigger=n,this.editorPosition...
method constructor (line 832) | constructor(i,n,o){this.trigger=i,this.position=n,this._cancellablePro...
method cancel (line 832) | cancel(){this._cancellablePromise.cancel()}
method constructor (line 879) | constructor(n,o){this.request=n,this.previouslyActiveHints=o,this.type=2}
function t (line 184) | function t(R){return(P,F=null,V)=>{let U=!1,J;return J=R(pe=>{if(!U)retu...
method runCoreEditorCommand (line 239) | runCoreEditorCommand(b,C){b.model.pushStackElement();const w=this._get...
method constructor (line 879) | constructor(n){this.hints=n,this.type=1}
function i (line 184) | function i(R,P,F){return d((V,U=null,J)=>R(pe=>V.call(U,P(pe)),null,J),F)}
method constructor (line 239) | constructor(b){super(b),this._isPaged=b.isPaged}
method _getColumnSelectResult (line 239) | _getColumnSelectResult(b,C,w,y){return Hg.columnSelectUp(b.cursorConfi...
function n (line 184) | function n(R,P,F){return d((V,U=null,J)=>R(pe=>{P(pe),V.call(U,pe)},null...
method constructor (line 239) | constructor(b){super(b),this._isPaged=b.isPaged}
method _getColumnSelectResult (line 239) | _getColumnSelectResult(b,C,w,y){return Hg.columnSelectDown(b.cursorCon...
function o (line 184) | function o(R,P,F){return d((V,U=null,J)=>R(pe=>P(pe)&&V.call(U,pe),null,...
method constructor (line 239) | constructor(){super({id:"cursorMove",precondition:void 0,metadata:rD.m...
method runCoreEditorCommand (line 239) | runCoreEditorCommand(b,C){const w=rD.parse(C);w&&this._runCursorMove(b...
method _runCursorMove (line 239) | _runCursorMove(b,C,w){b.model.pushStackElement(),b.setCursorStates(C,3...
method _move (line 239) | static _move(b,C,w){const y=w.select,D=w.value;switch(w.direction){cas...
function r (line 184) | function r(R){return R}
method constructor (line 239) | constructor(b){super(b),this._staticArgs=b.args}
method runCoreEditorCommand (line 239) | runCoreEditorCommand(b,C){let w=this._staticArgs;this._staticArgs.valu...
function a (line 184) | function a(...R){return(P,F=null,V)=>{const U=ha(...R.map(J=>J(pe=>P.cal...
method constructor (line 239) | constructor(b){super(b),this._inSelectionMode=b.inSelectionMode}
method runCoreEditorCommand (line 239) | runCoreEditorCommand(b,C){b.model.pushStackElement(),b.setCursorStates...
function l (line 184) | function l(R,P,F,V){let U=F;return i(R,J=>(U=P(U,J),U),V)}
method constructor (line 239) | constructor(b){super(b),this._inSelectionMode=b.inSelectionMode}
method runCoreEditorCommand (line 239) | runCoreEditorCommand(b,C){b.model.pushStackElement(),b.setCursorStates...
method _exec (line 239) | _exec(b){const C=[];for(let w=0,y=b.length;w<y;w++){const D=b[w],L=D.m...
function d (line 184) | function d(R,P){let F;const V={onWillAddFirstListener(){F=R(U.fire,U)},o...
method constructor (line 239) | constructor(b){super(b),this._inSelectionMode=b.inSelectionMode}
method runCoreEditorCommand (line 239) | runCoreEditorCommand(b,C){b.model.pushStackElement(),b.setCursorStates...
function c (line 184) | function c(R,P){return P instanceof Array?P.push(R):P&&P.add(R),R}
method constructor (line 239) | constructor(b){super(b),this._inSelectionMode=b.inSelectionMode}
method runCoreEditorCommand (line 239) | runCoreEditorCommand(b,C){b.model.pushStackElement(),b.setCursorStates...
method _exec (line 239) | _exec(b,C){const w=[];for(let y=0,D=C.length;y<D;y++){const L=C[y],k=L...
function u (line 184) | function u(R,P,F=100,V=!1,U=!1,J,pe){let De,ge,We,ye=0,ve;const ce={leak...
method constructor (line 239) | constructor(b){super(b),this._inSelectionMode=b.inSelectionMode}
method runCoreEditorCommand (line 239) | runCoreEditorCommand(b,C){b.model.pushStackElement(),b.setCursorStates...
function h (line 184) | function h(R,P=0,F){return s.debounce(R,(V,U)=>V?(V.push(U),V):[U],P,voi...
method constructor (line 239) | constructor(b){super(b),this._inSelectionMode=b.inSelectionMode}
method runCoreEditorCommand (line 239) | runCoreEditorCommand(b,C){b.model.pushStackElement(),b.setCursorStates...
function g (line 184) | function g(R,P=(V,U)=>V===U,F){let V=!0,U;return o(R,J=>{const pe=V||!P(...
method constructor (line 239) | constructor(){super({id:"editorScroll",precondition:void 0,metadata:Kn...
method determineScrollMethod (line 239) | determineScrollMethod(b){const C=[6],w=[1,2,3,4,5,6],y=[4,2],D=[1,3];r...
method runCoreEditorCommand (line 239) | runCoreEditorCommand(b,C){const w=Kn.parse(C);if(!w)return;const y=thi...
method _runVerticalEditorScroll (line 239) | _runVerticalEditorScroll(b,C,w){const y=this._computeDesiredScrollTop(...
method _computeDesiredScrollTop (line 239) | _computeDesiredScrollTop(b,C){if(C.unit===1){const D=b.viewLayout.getF...
method _runHorizontalEditorScroll (line 239) | _runHorizontalEditorScroll(b,C,w){const y=this._computeDesiredScrollLe...
method _computeDesiredScrollLeft (line 239) | _computeDesiredScrollLeft(b,C){const w=(C.direction===4?-1:1)*C.value;...
function f (line 184) | function f(R,P,F){return[s.filter(R,P,F),s.filter(R,V=>!P(V),F)]}
method constructor (line 239) | constructor(b){super(b),this._inSelectionMode=b.inSelectionMode}
method runCoreEditorCommand (line 239) | runCoreEditorCommand(b,C){C.position&&(b.model.pushStackElement(),b.se...
function m (line 184) | function m(R,P=!1,F=[],V){let U=F.slice(),J=R(ge=>{U?U.push(ge):De.fire(...
method constructor (line 239) | constructor(b){super(b),this._inSelectionMode=b.inSelectionMode}
method runCoreEditorCommand (line 239) | runCoreEditorCommand(b,C){C.position&&(b.model.pushStackElement(),b.se...
function _ (line 184) | function _(R,P){return(V,U,J)=>{const pe=P(new b);return R(function(De){...
method constructor (line 239) | constructor(b){super(b),this._inSelectionMode=b.inSelectionMode}
method runCoreEditorCommand (line 239) | runCoreEditorCommand(b,C){if(!C.position)return;const w=b.getLastAdded...
class b (line 184) | class b{constructor(){this.steps=[]}map(P){return this.steps.push(P),thi...
method constructor (line 184) | constructor(){this.steps=[]}
method map (line 184) | map(P){return this.steps.push(P),this}
method forEach (line 184) | forEach(P){return this.steps.push(F=>(P(F),F)),this}
method filter (line 184) | filter(P){return this.steps.push(F=>P(F)?F:v),this}
method reduce (line 184) | reduce(P,F){let V=F;return this.steps.push(U=>(V=P(V,U),V)),this}
method latch (line 184) | latch(P=(F,V)=>F===V){let F=!0,V;return this.steps.push(U=>{const J=F|...
method evaluate (line 184) | evaluate(P){for(const F of this.steps)if(P=F(P),P===v)break;return P}
function C (line 184) | function C(R,P,F=V=>V){const V=(...De)=>pe.fire(F(...De)),U=()=>R.on(P,V...
function w (line 184) | function w(R,P,F=V=>V){const V=(...De)=>pe.fire(F(...De)),U=()=>R.addEve...
function y (line 184) | function y(R){return new Promise(P=>t(R)(P))}
function D (line 184) | function D(R){const P=new B;return R.then(F=>{P.fire(F)},()=>{P.fire(voi...
function L (line 184) | function L(R,P,F){return P(F),R(V=>P(V))}
class k (line 184) | class k{constructor(P,F){this._observable=P,this._counter=0,this._hasCha...
method constructor (line 184) | constructor(P,F){this._observable=P,this._counter=0,this._hasChanged=!...
method beginUpdate (line 184) | beginUpdate(P){this._counter++}
method handlePossibleChange (line 184) | handlePossibleChange(P){}
method handleChange (line 184) | handleChange(P,F){this._hasChanged=!0}
method endUpdate (line 184) | endUpdate(P){this._counter--,this._counter===0&&(this._observable.repo...
function I (line 184) | function I(R,P){return new k(R,P).emitter.event}
function O (line 184) | function O(R){return(P,F,V)=>{let U=0,J=!1;const pe={beginUpdate(){U++},...
class r_ (line 184) | class r_{constructor(e){this.listenerCount=0,this.invocationCount=0,this...
method constructor (line 184) | constructor(e){this.listenerCount=0,this.invocationCount=0,this.elapse...
method start (line 184) | start(e){this._stopWatch=new Jn,this.listenerCount=e}
method stop (line 184) | stop(){if(this._stopWatch){const e=this._stopWatch.elapsed();this.dura...
class joe (line 184) | class joe{constructor(e,t=Math.random().toString(18).slice(2,5)){this.th...
method constructor (line 184) | constructor(e,t=Math.random().toString(18).slice(2,5)){this.threshold=...
method dispose (line 184) | dispose(){var e;(e=this._stacks)===null||e===void 0||e.clear()}
method check (line 184) | check(e,t){const i=this.threshold;if(i<=0||t<i)return;this._stacks||(t...
class jP (line 184) | class jP{static create(){var e;return new jP((e=new Error().stack)!==nul...
method create (line 184) | static create(){var e;return new jP((e=new Error().stack)!==null&&e!==...
method constructor (line 184) | constructor(e){this.value=e}
method print (line 184) | print(){console.warn(this.value.split(`
class NE (line 186) | class NE{constructor(e){this.value=e}}
method constructor (line 186) | constructor(e){this.value=e}
method constructor (line 186) | constructor(e){var t,i,n,o,r;this._size=0,this._options=e,this._leakageM...
method dispose (line 186) | dispose(){var e,t,i,n;this._disposed||(this._disposed=!0,((e=this._deliv...
method event (line 186) | get event(){var e;return(e=this._event)!==null&&e!==void 0||(this._event...
method _removeListener (line 186) | _removeListener(e){var t,i,n,o;if((i=(t=this._options)===null||t===void ...
method _deliver (line 186) | _deliver(e,t){var i;if(!e)return;const n=((i=this._options)===null||i===...
method _deliverQueue (line 186) | _deliverQueue(e){const t=e.current._listeners;for(;e.i<e.end;)this._deli...
method fire (line 186) | fire(e){var t,i,n,o;if(!((t=this._deliveryQueue)===null||t===void 0)&&t....
method hasListeners (line 186) | hasListeners(){return this._size>0}
class UV (line 186) | class UV{constructor(){this.i=-1,this.end=0}enqueue(e,t,i){this.i=0,this...
method constructor (line 186) | constructor(){this.i=-1,this.end=0}
method enqueue (line 186) | enqueue(e,t,i){this.i=0,this.end=i,this.current=e,this.value=t}
method reset (line 186) | reset(){this.i=this.end,this.current=void 0,this.value=void 0}
class bf (line 186) | class bf extends B{constructor(e){super(e),this._isPaused=0,this._eventQ...
method constructor (line 186) | constructor(e){super(e),this._isPaused=0,this._eventQueue=new Rs,this....
method pause (line 186) | pause(){this._isPaused++}
method resume (line 186) | resume(){if(this._isPaused!==0&&--this._isPaused===0)if(this._mergeFn)...
method fire (line 186) | fire(e){this._size&&(this._isPaused!==0?this._eventQueue.push(e):super...
class $V (line 186) | class $V extends bf{constructor(e){var t;super(e),this._delay=(t=e.delay...
method constructor (line 186) | constructor(e){var t;super(e),this._delay=(t=e.delay)!==null&&t!==void...
method fire (line 186) | fire(e){this._handle||(this.pause(),this._handle=setTimeout(()=>{this....
class Goe (line 186) | class Goe extends B{constructor(e){super(e),this._queuedEvents=[],this._...
method constructor (line 186) | constructor(e){super(e),this._queuedEvents=[],this._mergeFn=e==null?vo...
method fire (line 186) | fire(e){this.hasListeners()&&(this._queuedEvents.push(e),this._queuedE...
class Zoe (line 186) | class Zoe{constructor(){this.hasListeners=!1,this.events=[],this.emitter...
method constructor (line 186) | constructor(){this.hasListeners=!1,this.events=[],this.emitter=new B({...
method event (line 186) | get event(){return this.emitter.event}
method add (line 186) | add(e){const t={event:e,listener:null};return this.events.push(t),this...
method onFirstListenerAdd (line 186) | onFirstListenerAdd(){this.hasListeners=!0,this.events.forEach(e=>this....
method onLastListenerRemove (line 186) | onLastListenerRemove(){this.hasListeners=!1,this.events.forEach(e=>thi...
method hook (line 186) | hook(e){e.listener=e.event(t=>this.emitter.fire(t))}
method unhook (line 186) | unhook(e){var t;(t=e.listener)===null||t===void 0||t.dispose(),e.liste...
method dispose (line 186) | dispose(){var e;this.emitter.dispose();for(const t of this.events)(e=t...
class KP (line 186) | class KP{constructor(){this.buffers=[]}wrapEvent(e){return(t,i,n)=>e(o=>...
method constructor (line 186) | constructor(){this.buffers=[]}
method wrapEvent (line 186) | wrapEvent(e){return(t,i,n)=>e(o=>{const r=this.buffers[this.buffers.le...
method bufferEvents (line 186) | bufferEvents(e){const t=[];this.buffers.push(t);const i=e();return thi...
class t3 (line 186) | class t3{constructor(){this.listening=!1,this.inputEvent=le.None,this.in...
method constructor (line 186) | constructor(){this.listening=!1,this.inputEvent=le.None,this.inputEven...
method input (line 186) | set input(e){this.inputEvent=e,this.listening&&(this.inputEventListene...
method dispose (line 186) | dispose(){this.inputEventListener.dispose(),this.emitter.dispose()}
method dispose (line 186) | dispose(){clearTimeout(t)}
function e (line 186) | function e(t){return t===s.None||t===s.Cancelled||t instanceof Fy?!0:!t|...
method constructor (line 239) | constructor(b){super(b),this._inSelectionMode=b.inSelectionMode}
method runCoreEditorCommand (line 239) | runCoreEditorCommand(b,C){if(!C.position)return;b.model.pushStackEleme...
method runEditorCommand (line 239) | runEditorCommand(i,n,o){const r=n._getViewModel();r&&this.runCoreEditi...
method constructor (line 832) | constructor(i,n,o,r){this.actions=i,this.trigger=n,this.editorPosition...
method constructor (line 832) | constructor(i,n,o){this.trigger=i,this.position=n,this._cancellablePro...
method cancel (line 832) | cancel(){this._cancellablePromise.cancel()}
method constructor (line 879) | constructor(n,o){this.request=n,this.previouslyActiveHints=o,this.type=2}
class Fy (line 186) | class Fy{constructor(){this._isCancelled=!1,this._emitter=null}cancel(){...
method constructor (line 186) | constructor(){this._isCancelled=!1,this._emitter=null}
method cancel (line 186) | cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this...
method isCancellationRequested (line 186) | get isCancellationRequested(){return this._isCancelled}
method onCancellationRequested (line 186) | get onCancellationRequested(){return this._isCancelled?jV:(this._emitt...
method dispose (line 186) | dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=null)}
method constructor (line 186) | constructor(e){this._token=void 0,this._parentListener=void 0,this._pare...
method token (line 186) | get token(){return this._token||(this._token=new Fy),this._token}
method cancel (line 186) | cancel(){this._token?this._token instanceof Fy&&this._token.cancel():thi...
method dispose (line 186) | dispose(e=!1){var t;e&&this.cancel(),(t=this._parentListener)===null||t=...
function i3 (line 186) | function i3(s){const e=new Vi;return s.add({dispose(){e.cancel()}}),e.to...
class qP (line 186) | class qP{constructor(){this._keyCodeToStr=[],this._strToKeyCode=Object.c...
method constructor (line 186) | constructor(){this._keyCodeToStr=[],this._strToKeyCode=Object.create(n...
method define (line 186) | define(e,t){this._keyCodeToStr[e]=t,this._strToKeyCode[t.toLowerCase()...
method keyCodeToStr (line 186) | keyCodeToStr(e){return this._keyCodeToStr[e]}
method strToKeyCode (line 186) | strToKeyCode(e){return this._strToKeyCode[e.toLowerCase()]||0}
function e (line 186) | function e(a){return Oy.keyCodeToStr(a)}
method constructor (line 239) | constructor(b){super(b),this._inSelectionMode=b.inSelectionMode}
method runCoreEditorCommand (line 239) | runCoreEditorCommand(b,C){if(!C.position)return;b.model.pushStackEleme...
method runEditorCommand (line 239) | runEditorCommand(i,n,o){const r=n._getViewModel();r&&this.runCoreEditi...
method constructor (line 832) | constructor(i,n,o,r){this.actions=i,this.trigger=n,this.editorPosition...
method constructor (line 832) | constructor(i,n,o){this.trigger=i,this.position=n,this._cancellablePro...
method cancel (line 832) | cancel(){this._cancellablePromise.cancel()}
method constructor (line 879) | constructor(n,o){this.request=n,this.previouslyActiveHints=o,this.type=2}
function t (line 186) | function t(a){return Oy.strToKeyCode(a)}
method runCoreEditorCommand (line 239) | runCoreEditorCommand(b,C){b.model.pushStackElement();const w=this._get...
method constructor (line 879) | constructor(n){this.hints=n,this.type=1}
function i (line 186) | function i(a){return XT.keyCodeToStr(a)}
method constructor (line 239) | constructor(b){super(b),this._isPaged=b.isPaged}
method _getColumnSelectResult (line 239) | _getColumnSelectResult(b,C,w,y){return Hg.columnSelectUp(b.cursorConfi...
function n (line 186) | function n(a){return YT.keyCodeToStr(a)}
method constructor (line 239) | constructor(b){super(b),this._isPaged=b.isPaged}
method _getColumnSelectResult (line 239) | _getColumnSelectResult(b,C,w,y){return Hg.columnSelectDown(b.cursorCon...
function o (line 186) | function o(a){return XT.strToKeyCode(a)||YT.strToKeyCode(a)}
method constructor (line 239) | constructor(){super({id:"cursorMove",precondition:void 0,metadata:rD.m...
method runCoreEditorCommand (line 239) | runCoreEditorCommand(b,C){const w=rD.parse(C);w&&this._runCursorMove(b...
method _runCursorMove (line 239) | _runCursorMove(b,C,w){b.model.pushStackElement(),b.setCursorStates(C,3...
method _move (line 239) | static _move(b,C,w){const y=w.select,D=w.value;switch(w.direction){cas...
function r (line 186) | function r(a){if(a>=98&&a<=113)return null;switch(a){case 16:return"Up";...
method constructor (line 239) | constructor(b){super(b),this._staticArgs=b.args}
method runCoreEditorCommand (line 239) | runCoreEditorCommand(b,C){let w=this._staticArgs;this._staticArgs.valu...
function an (line 186) | function an(s,e){const t=(e&65535)<<16>>>0;return(s|t)>>>0}
method platform (line 186) | get platform(){return s.platform}
method arch (line 186) | get arch(){return s.arch}
method env (line 186) | get env(){return s.env}
method cwd (line 186) | cwd(){return s.cwd()}
method platform (line 186) | get platform(){return process.platform}
method arch (line 186) | get arch(){return process.arch}
method env (line 186) | get env(){return n3}
method cwd (line 186) | cwd(){return n3.VSCODE_CWD||process.cwd()}
method platform (line 186) | get platform(){return as?"win32":lt?"darwin":"linux"}
method arch (line 186) | get arch(){}
method env (line 186) | get env(){return{}}
method cwd (line 186) | cwd(){return"/"}
class qV (line 186) | class qV extends Error{constructor(e,t,i){let n;typeof t=="string"&&t.in...
method constructor (line 186) | constructor(e,t,i){let n;typeof t=="string"&&t.indexOf("not ")===0?(n=...
function sre (line 186) | function sre(s,e){if(s===null||typeof s!="object")throw new qV(e,"Object...
function In (line 186) | function In(s,e){if(typeof s!="string")throw new qV(e,"string",s)}
function Pt (line 186) | function Pt(s){return s===gs||s===Vo}
function JT (line 186) | function JT(s){return s===gs}
function pu (line 186) | function pu(s){return s>=Joe&&s<=tre||s>=ere&&s<=ire}
function MS (line 186) | function MS(s,e,t,i){let n="",o=0,r=-1,a=0,l=0;for(let d=0;d<=s.length;+...
function GV (line 186) | function GV(s,e){sre(e,"pathObject");const t=e.dir||e.root,i=e.base||`${...
method resolve (line 186) | resolve(...s){let e="",t="",i=!1;for(let n=s.length-1;n>=-1;n--){let o;i...
method normalize (line 186) | normalize(s){In(s,"path");const e=s.length;if(e===0)return".";let t=0,i,...
method isAbsolute (line 186) | isAbsolute(s){In(s,"path");const e=s.length;if(e===0)return!1;const t=s....
method join (line 186) | join(...s){if(s.length===0)return".";let e,t;for(let o=0;o<s.length;++o)...
method relative (line 186) | relative(s,e){if(In(s,"from"),In(e,"to"),s===e)return"";const t=xo.resol...
method toNamespacedPath (line 186) | toNamespacedPath(s){if(typeof s!="string"||s.length===0)return s;const e...
method dirname (line 186) | dirname(s){In(s,"path");const e=s.length;if(e===0)return".";let t=-1,i=0...
method basename (line 186) | basename(s,e){e!==void 0&&In(e,"ext"),In(s,"path");let t=0,i=-1,n=!0,o;i...
method extname (line 186) | extname(s){In(s,"path");let e=0,t=-1,i=0,n=-1,o=!0,r=0;s.length>=2&&s.ch...
method parse (line 186) | parse(s){In(s,"path");const e={root:"",dir:"",base:"",ext:"",name:""};if...
method resolve (line 186) | resolve(...s){let e="",t=!1;for(let i=s.length-1;i>=-1&&!t;i--){const n=...
method normalize (line 186) | normalize(s){if(In(s,"path"),s.length===0)return".";const e=s.charCodeAt...
method isAbsolute (line 186) | isAbsolute(s){return In(s,"path"),s.length>0&&s.charCodeAt(0)===gs}
method join (line 186) | join(...s){if(s.length===0)return".";let e;for(let t=0;t<s.length;++t){c...
method relative (line 186) | relative(s,e){if(In(s,"from"),In(e,"to"),s===e||(s=Yi.resolve(s),e=Yi.re...
method toNamespacedPath (line 186) | toNamespacedPath(s){return s}
method dirname (line 186) | dirname(s){if(In(s,"path"),s.length===0)return".";const e=s.charCodeAt(0...
method basename (line 186) | basename(s,e){e!==void 0&&In(e,"ext"),In(s,"path");let t=0,i=-1,n=!0,o;i...
method extname (line 186) | extname(s){In(s,"path");let e=-1,t=0,i=-1,n=!0,o=0;for(let r=s.length-1;...
method parse (line 186) | parse(s){In(s,"path");const e={root:"",dir:"",base:"",ext:"",name:""};if...
function hre (line 186) | function hre(s,e){if(!s.scheme&&e)throw new Error(`[UriError]: Scheme is...
function gre (line 186) | function gre(s,e){return!s&&!e?"file":s}
function fre (line 186) | function fre(s,e){switch(s){case"https":case"http":case"file":e?e[0]!==H...
class Ae (line 186) | class Ae{static isUri(e){return e instanceof Ae?!0:e?typeof e.authority=...
method isUri (line 186) | static isUri(e){return e instanceof Ae?!0:e?typeof e.authority=="strin...
method constructor (line 186) | constructor(e,t,i,n,o,r=!1){typeof e=="object"?(this.scheme=e.scheme||...
method fsPath (line 186) | get fsPath(){return RS(this,!1)}
method with (line 186) | with(e){if(!e)return this;let{scheme:t,authority:i,path:n,query:o,frag...
method parse (line 186) | static parse(e,t=!1){const i=pre.exec(e);return i?new Sp(i[2]||$i,cw(i...
method file (line 186) | static file(e){let t=$i;if(as&&(e=e.replace(/\\/g,Ha)),e[0]===Ha&&e[1]...
method from (line 186) | static from(e,t){return new Sp(e.scheme,e.authority,e.path,e.query,e.f...
method joinPath (line 186) | static joinPath(e,...t){if(!e.path)throw new Error("[UriError]: cannot...
method toString (line 186) | toString(e=!1){return eN(this,e)}
method toJSON (line 186) | toJSON(){return this}
method revive (line 186) | static revive(e){var t,i;if(e){if(e instanceof Ae)return e;{const n=ne...
method constructor (line 186) | constructor(){super(...arguments),this._formatted=null,this._fsPath=null}
method fsPath (line 186) | get fsPath(){return this._fsPath||(this._fsPath=RS(this,!1)),this._fsPath}
method toString (line 186) | toString(e=!1){return e?eN(this,!0):(this._formatted||(this._formatted=e...
method toJSON (line 186) | toJSON(){const e={$mid:1};return this._fsPath&&(e.fsPath=this._fsPath,e....
function s3 (line 186) | function s3(s,e,t){let i,n=-1;for(let o=0;o<s.length;o++){const r=s.char...
function mre (line 186) | function mre(s){let e;for(let t=0;t<s.length;t++){const i=s.charCodeAt(t...
function RS (line 186) | function RS(s,e){let t;return s.authority&&s.path.length>1&&s.scheme==="...
function eN (line 186) | function eN(s,e){const t=e?mre:s3;let i="",{scheme:n,authority:o,path:r,...
function JV (line 186) | function JV(s){try{return decodeURIComponent(s)}catch{return s.length>3?...
function cw (line 186) | function cw(s){return s.match(o3)?s.replace(o3,e=>JV(e)):s}
method constructor (line 186) | constructor(e,t){this.lineNumber=e,this.column=t}
method with (line 186) | with(e=this.lineNumber,t=this.column){return e===this.lineNumber&&t===th...
method delta (line 186) | delta(e=0,t=0){return this.with(this.lineNumber+e,this.column+t)}
method equals (line 186) | equals(e){return Eg.equals(this,e)}
method equals (line 186) | static equals(e,t){return!e&&!t?!0:!!e&&!!t&&e.lineNumber===t.lineNumber...
method isBefore (line 186) | isBefore(e){return Eg.isBefore(this,e)}
method isBefore (line 186) | static isBefore(e,t){return e.lineNumber<t.lineNumber?!0:t.lineNumber<e....
method isBeforeOrEqual (line 186) | isBeforeOrEqual(e){return Eg.isBeforeOrEqual(this,e)}
method isBeforeOrEqual (line 186) | static isBeforeOrEqual(e,t){return e.lineNumber<t.lineNumber?!0:t.lineNu...
method compare (line 186) | static compare(e,t){const i=e.lineNumber|0,n=t.lineNumber|0;if(i===n){co...
method clone (line 186) | clone(){return new Eg(this.lineNumber,this.column)}
method toString (line 186) | toString(){return"("+this.lineNumber+","+this.column+")"}
method lift (line 186) | static lift(e){return new Eg(e.lineNumber,e.column)}
method isIPosition (line 186) | static isIPosition(e){return e&&typeof e.lineNumber=="number"&&typeof e....
method toJSON (line 186) | toJSON(){return{lineNumber:this.lineNumber,column:this.column}}
method constructor (line 186) | constructor(e,t,i,n){e>i||e===i&&t>n?(this.startLineNumber=i,this.startC...
method isEmpty (line 186) | isEmpty(){return Fn.isEmpty(this)}
method isEmpty (line 186) | static isEmpty(e){return e.startLineNumber===e.endLineNumber&&e.startCol...
method containsPosition (line 186) | containsPosition(e){return Fn.containsPosition(this,e)}
method containsPosition (line 186) | static containsPosition(e,t){return!(t.lineNumber<e.startLineNumber||t.l...
method strictContainsPosition (line 186) | static strictContainsPosition(e,t){return!(t.lineNumber<e.startLineNumbe...
method containsRange (line 186) | containsRange(e){return Fn.containsRange(this,e)}
method containsRange (line 186) | static containsRange(e,t){return!(t.startLineNumber<e.startLineNumber||t...
method strictContainsRange (line 186) | strictContainsRange(e){return Fn.strictContainsRange(this,e)}
method strictContainsRange (line 186) | static strictContainsRange(e,t){return!(t.startLineNumber<e.startLineNum...
method plusRange (line 186) | plusRange(e){return Fn.plusRange(this,e)}
method plusRange (line 186) | static plusRange(e,t){let i,n,o,r;return t.startLineNumber<e.startLineNu...
method intersectRanges (line 186) | intersectRanges(e){return Fn.intersectRanges(this,e)}
method intersectRanges (line 186) | static intersectRanges(e,t){let i=e.startLineNumber,n=e.startColumn,o=e....
method equalsRange (line 186) | equalsRange(e){return Fn.equalsRange(this,e)}
method equalsRange (line 186) | static equalsRange(e,t){return!e&&!t?!0:!!e&&!!t&&e.startLineNumber===t....
method getEndPosition (line 186) | getEndPosition(){return Fn.getEndPosition(this)}
method getEndPosition (line 186) | static getEndPosition(e){return new W(e.endLineNumber,e.endColumn)}
method getStartPosition (line 186) | getStartPosition(){return Fn.getStartPosition(this)}
method getStartPosition (line 186) | static getStartPosition(e){return new W(e.startLineNumber,e.startColumn)}
method toString (line 186) | toString(){return"["+this.startLineNumber+","+this.startColumn+" -> "+th...
method setEndPosition (line 186) | setEndPosition(e,t){return new Fn(this.startLineNumber,this.startColumn,...
method setStartPosition (line 186) | setStartPosition(e,t){return new Fn(e,t,this.endLineNumber,this.endColumn)}
method collapseToStart (line 186) | collapseToStart(){return Fn.collapseToStart(this)}
method collapseToStart (line 186) | static collapseToStart(e){return new Fn(e.startLineNumber,e.startColumn,...
method collapseToEnd (line 186) | collapseToEnd(){return Fn.collapseToEnd(this)}
method collapseToEnd (line 186) | static collapseToEnd(e){return new Fn(e.endLineNumber,e.endColumn,e.endL...
method delta (line 186) | delta(e){return new Fn(this.startLineNumber+e,this.startColumn,this.endL...
method fromPositions (line 186) | static fromPositions(e,t=e){return new Fn(e.lineNumber,e.column,t.lineNu...
method lift (line 186) | static lift(e){return e?new Fn(e.startLineNumber,e.startColumn,e.endLine...
method isIRange (line 186) | static isIRange(e){return e&&typeof e.startLineNumber=="number"&&typeof ...
method areIntersectingOrTouching (line 186) | static areIntersectingOrTouching(e,t){return!(e.endLineNumber<t.startLin...
method areIntersecting (line 186) | static areIntersecting(e,t){return!(e.endLineNumber<t.startLineNumber||e...
method compareRangesUsingStarts (line 186) | static compareRangesUsingStarts(e,t){if(e&&t){const o=e.startLineNumber|...
method compareRangesUsingEnds (line 186) | static compareRangesUsingEnds(e,t){return e.endLineNumber===t.endLineNum...
method spansMultipleLines (line 186) | static spansMultipleLines(e){return e.endLineNumber>e.startLineNumber}
method toJSON (line 186) | toJSON(){return this}
method constructor (line 186) | constructor(e,t,i,n){super(e,t,i,n),this.selectionStartLineNumber=e,this...
method toString (line 186) | toString(){return"["+this.selectionStartLineNumber+","+this.selectionSta...
method equalsSelection (line 186) | equalsSelection(e){return Yr.selectionsEqual(this,e)}
method selectionsEqual (line 186) | static selectionsEqual(e,t){return e.selectionStartLineNumber===t.select...
method getDirection (line 186) | getDirection(){return this.selectionStartLineNumber===this.startLineNumb...
method setEndPosition (line 186) | setEndPosition(e,t){return this.getDirection()===0?new Yr(this.startLine...
method getPosition (line 186) | getPosition(){return new W(this.positionLineNumber,this.positionColumn)}
method getSelectionStart (line 186) | getSelectionStart(){return new W(this.selectionStartLineNumber,this.sele...
method setStartPosition (line 186) | setStartPosition(e,t){return this.getDirection()===0?new Yr(e,t,this.end...
method fromPositions (line 186) | static fromPositions(e,t=e){return new Yr(e.lineNumber,e.column,t.lineNu...
method fromRange (line 186) | static fromRange(e,t){return t===0?new Yr(e.startLineNumber,e.startColum...
method liftSelection (line 186) | static liftSelection(e){return new Yr(e.selectionStartLineNumber,e.selec...
method selectionsArrEqual (line 186) | static selectionsArrEqual(e,t){if(e&&!t||!e&&t)return!1;if(!e&&!t)return...
method isISelection (line 186) | static isISelection(e){return e&&typeof e.selectionStartLineNumber=="num...
method createWithDirection (line 186) | static createWithDirection(e,t,i,n,o){return o===0?new Yr(e,t,i,n):new Y...
function S (line 186) | function S(s,e){if(lo(e)){const t=tN[e];if(t===void 0)throw new Error(`$...
function ez (line 186) | function ez(){return tN}
method constructor (line 186) | constructor(){this._tokenizationSupports=new Map,this._factories=new Map...
method handleChange (line 186) | handleChange(e){this._onDidChange.fire({changedLanguages:e,changedColorM...
method register (line 186) | register(e,t){return this._tokenizationSupports.set(e,t),this.handleChan...
method get (line 186) | get(e){return this._tokenizationSupports.get(e)||null}
method registerFactory (line 186) | registerFactory(e,t){var i;(i=this._factories.get(e))===null||i===void 0...
method getOrCreate (line 186) | async getOrCreate(e){const t=this.get(e);if(t)return t;const i=this._fac...
method isResolved (line 186) | isResolved(e){if(this.get(e))return!0;const i=this._factories.get(e);ret...
method setColorMap (line 186) | setColorMap(e){this._colorMap=e,this._onDidChange.fire({changedLanguages...
method getColorMap (line 186) | getColorMap(){return this._colorMap}
method getDefaultBackground (line 186) | getDefaultBackground(){return this._colorMap&&this._colorMap.length>2?th...
class Cre (line 186) | class Cre extends H{get isResolved(){return this._isResolved}constructor...
method isResolved (line 186) | get isResolved(){return this._isResolved}
method constructor (line 186) | constructor(e,t,i){super(),this._registry=e,this._languageId=t,this._f...
method dispose (line 186) | dispose(){this._isDisposed=!0,super.dispose()}
method resolve (line 186) | async resolve(){return this._resolvePromise||(this._resolvePromise=thi...
method _create (line 186) | async _create(){const e=await this._factory.tokenizationSupport;this._...
method constructor (line 186) | constructor(e,t,i){this.offset=e,this.type=t,this.language=i,this._token...
method toString (line 186) | toString(){return"("+this.offset+", "+this.type+")"}
class ZP (line 186) | class ZP{constructor(e,t){this.tokens=e,this.endState=t,this._tokenizati...
method constructor (line 186) | constructor(e,t){this.tokens=e,this.endState=t,this._tokenizationResul...
class KL (line 186) | class KL{constructor(e,t){this.tokens=e,this.endState=t,this._encodedTok...
method constructor (line 186) | constructor(e,t){this.tokens=e,this.endState=t,this._encodedTokenizati...
function t (line 186) | function t(o){let r=e.get(o);return r||(console.info("No codicon found f...
method runCoreEditorCommand (line 239) | runCoreEditorCommand(b,C){b.model.pushStackElement();const w=this._get...
method constructor (line 879) | constructor(n){this.hints=n,this.type=1}
function n (line 186) | function n(o,r){let a=i.get(o);return typeof a>"u"&&!r&&(a=9),a}
method constructor (line 239) | constructor(b){super(b),this._isPaged=b.isPaged}
method _getColumnSelectResult (line 239) | _getColumnSelectResult(b,C,w,y){return Hg.columnSelectDown(b.cursorCon...
class tz (line 186) | class tz{constructor(e,t,i,n){this.range=e,this.text=t,this.completionKi...
method constructor (line 186) | constructor(e,t,i,n){this.range=e,this.text=t,this.completionKind=i,th...
method equals (line 186) | equals(e){return x.lift(this.range).equalsRange(e.range)&&this.text===...
function wre (line 186) | function wre(s){return s&&Ae.isUri(s.uri)&&x.isIRange(s.range)&&(x.isIRa...
function t (line 186) | function t(i){let n=e.get(i);return n||(console.info("No codicon found f...
method runCoreEditorCommand (line 239) | runCoreEditorCommand(b,C){b.model.pushStackElement();const w=this._get...
method constructor (line 879) | constructor(n){this.hints=n,this.type=1}
class Ps (line 186) | class Ps{static fromValue(e){switch(e){case"comment":return Ps.Comment;c...
method fromValue (line 186) | static fromValue(e){switch(e){case"comment":return Ps.Comment;case"imp...
method constructor (line 186) | constructor(e){this.value=e}
function e (line 186) | function e(t){return!t||typeof t!="object"?!1:typeof t.id=="string"&&typ...
method constructor (line 239) | constructor(b){super(b),this._inSelectionMode=b.inSelectionMode}
method runCoreEditorCommand (line 239) | runCoreEditorCommand(b,C){if(!C.position)return;b.model.pushStackEleme...
method runEditorCommand (line 239) | runEditorCommand(i,n,o){const r=n._getViewModel();r&&this.runCoreEditi...
method constructor (line 832) | constructor(i,n,o,r){this.actions=i,this.trigger=n,this.editorPosition...
method constructor (line 832) | constructor(i,n,o){this.trigger=i,this.position=n,this._cancellablePro...
method cancel (line 832) | cancel(){this._cancellablePromise.cancel()}
method constructor (line 879) | constructor(n,o){this.request=n,this.previouslyActiveHints=o,this.type=2}
class yre (line 186) | class yre{constructor(e){this.createSupport=e,this._tokenizationSupport=...
method constructor (line 186) | constructor(e){this.createSupport=e,this._tokenizationSupport=null}
method dispose (line 186) | dispose(){this._tokenizationSupport&&this._tokenizationSupport.then(e=...
method tokenizationSupport (line 186) | get tokenizationSupport(){return this._tokenizationSupport||(this._tok...
method chord (line 186) | static chord(e,t){return an(e,t)}
function iz (line 186) | function iz(){return{editor:void 0,languages:void 0,CancellationTokenSou...
function Sre (line 186) | function Sre(s,e){const t=s;typeof t.vscodeWindowId!="number"&&Object.de...
function nz (line 186) | function nz(s){return s}
class Dre (line 186) | class Dre{constructor(e,t){this.lastCache=void 0,this.lastArgKey=void 0,...
method constructor (line 186) | constructor(e,t){this.lastCache=void 0,this.lastArgKey=void 0,typeof e...
method get (line 186) | get(e){const t=this._computeKey(e);return this.lastArgKey!==t&&(this.l...
class r3 (line 186) | class r3{get cachedValues(){return this._map}constructor(e,t){this._map=...
method cachedValues (line 186) | get cachedValues(){return this._map}
method constructor (line 186) | constructor(e,t){this._map=new Map,this._map2=new Map,typeof e=="funct...
method get (line 186) | get(e){const t=this._computeKey(e);if(this._map2.has(t))return this._m...
class gl (line 186) | class gl{constructor(e){this.executor=e,this._didRun=!1}get value(){if(!...
method constructor (line 186) | constructor(e){this.executor=e,this._didRun=!1}
method value (line 186) | get value(){if(!this._didRun)try{this._value=this.executor()}catch(e){...
method rawValue (line 186) | get rawValue(){return this._value}
function sz (line 186) | function sz(s){return!s||typeof s!="string"?!0:s.trim().length===0}
function l_ (line 186) | function l_(s,...e){return e.length===0?s:s.replace(Lre,function(t,i){co...
function xre (line 186) | function xre(s){return s.replace(/[<>"'&]/g,e=>{switch(e){case"<":return...
function OS (line 186) | function OS(s){return s.replace(/[<>&]/g,function(e){switch(e){case"<":r...
function rr (line 186) | function rr(s){return s.replace(/[\\\{\}\*\+\?\|\^\$\.\[\]\(\)]/g,"\\$&")}
function qL (line 186) | function qL(s,e){if(!s||!e)return s;const t=e.length;if(t===0||s.length=...
function kre (line 186) | function kre(s,e){if(!s)return s;const t=e.length,i=s.length;if(t===0||i...
function Ere (line 186) | function Ere(s){return s.replace(/[\-\\\{\}\+\?\|\^\$\.\,\[\]\(\)\#\s]/g...
function oz (line 186) | function oz(s,e,t={}){if(!s)throw new Error("Cannot create regex from em...
function Ire (line 186) | function Ire(s){return s.source==="^"||s.source==="^$"||s.source==="$"||...
function Td (line 186) | function Td(s){return s.split(/\r\n|\r|\n/)}
function Tre (line 186) | function Tre(s){var e;const t=[],i=s.split(/(\r\n|\r|\n)/);for(let n=0;n...
function Cs (line 186) | function Cs(s){for(let e=0,t=s.length;e<t;e++){const i=s.charCodeAt(e);i...
function Zt (line 186) | function Zt(s,e=0,t=s.length){for(let i=e;i<t;i++){const n=s.charCodeAt(...
function Ya (line 186) | function Ya(s,e=s.length-1){for(let t=e;t>=0;t--){const i=s.charCodeAt(t...
function Rb (line 186) | function Rb(s,e){return s<e?-1:s>e?1:0}
function XP (line 186) | function XP(s,e,t=0,i=s.length,n=0,o=e.length){for(;t<i&&n<o;t++,n++){co...
function YN (line 186) | function YN(s,e){return d1(s,e,0,s.length,0,e.length)}
function d1 (line 186) | function d1(s,e,t=0,i=s.length,n=0,o=e.length){for(;t<i&&n<o;t++,n++){le...
function uw (line 186) | function uw(s){return s>=48&&s<=57}
function Bu (line 186) | function Bu(s){return s>=97&&s<=122}
function Fl (line 186) | function Fl(s){return s>=65&&s<=90}
function em (line 186) | function em(s,e){return s.length===e.length&&d1(s,e)===0}
function YP (line 186) | function YP(s,e){const t=e.length;return e.length>s.length?!1:d1(s,e,0,t...
function Sh (line 186) | function Sh(s,e){const t=Math.min(s.length,e.length);let i;for(i=0;i<t;i...
function BS (line 186) | function BS(s,e){const t=Math.min(s.length,e.length);let i;const n=s.len...
function Cn (line 186) | function Cn(s){return 55296<=s&&s<=56319}
function Cf (line 186) | function Cf(s){return 56320<=s&&s<=57343}
function QP (line 186) | function QP(s,e){return(s-55296<<10)+(e-56320)+65536}
function WS (line 186) | function WS(s,e,t){const i=s.charCodeAt(t);if(Cn(i)&&t+1<e){const n=s.ch...
function Nre (line 186) | function Nre(s,e){const t=s.charCodeAt(e-1);if(Cf(t)&&e>1){const i=s.cha...
class JP (line 186) | class JP{get offset(){return this._offset}constructor(e,t=0){this._str=e...
method offset (line 186) | get offset(){return this._offset}
method constructor (line 186) | constructor(e,t=0){this._str=e,this._len=e.length,this._offset=t}
method setOffset (line 186) | setOffset(e){this._offset=e}
method prevCodePoint (line 186) | prevCodePoint(){const e=Nre(this._str,this._offset);return this._offse...
method nextCodePoint (line 186) | nextCodePoint(){const e=WS(this._str,this._len,this._offset);return th...
method eol (line 186) | eol(){return this._offset>=this._len}
class HS (line 186) | class HS{get offset(){return this._iterator.offset}constructor(e,t=0){th...
method offset (line 186) | get offset(){return this._iterator.offset}
method constructor (line 186) | constructor(e,t=0){this._iterator=new JP(e,t)}
method nextGraphemeLength (line 186) | nextGraphemeLength(){const e=Wu.getInstance(),t=this._iterator,i=t.off...
method prevGraphemeLength (line 186) | prevGraphemeLength(){const e=Wu.getInstance(),t=this._iterator,i=t.off...
method eol (line 186) | eol(){return this._iterator.eol()}
function eF (line 186) | function eF(s,e){return new HS(s,e).nextGraphemeLength()}
function rz (line 186) | function rz(s,e){return new HS(s,e).prevGraphemeLength()}
function Are (line 186) | function Are(s,e){e>0&&Cf(s.charCodeAt(e))&&e--;const t=e+eF(s,e);return...
function Mre (line 186) | function Mre(){return/(?:[\u05BE\u05C0\u05C3\u05C6\u05D0-\u05F4\u0608\u0...
function d_ (line 186) | function d_(s){return ME||(ME=Mre()),ME.test(s)}
function c1 (line 186) | function c1(s){return Rre.test(s)}
function lz (line 186) | function lz(s){return az.test(s)}
function Dh (line 186) | function Dh(s){return s>=11904&&s<=55215||s>=63744&&s<=64255||s>=65281&&...
function tF (line 186) | function tF(s){return s>=127462&&s<=127487||s===8986||s===8987||s===9200...
function iF (line 186) | function iF(s){return!!(s&&s.length>0&&s.charCodeAt(0)===65279)}
function Fre (line 186) | function Fre(s,e=!1){return s?(e&&(s=s.replace(/\\./g,"")),s.toLowerCase...
function dz (line 186) | function dz(s){return s=s%(2*26),s<26?String.fromCharCode(97+s):String.f...
function a3 (line 186) | function a3(s,e){return s===0?e!==5&&e!==7:s===2&&e===3?!1:s===4||s===2|...
class Wu (line 186) | class Wu{static getInstance(){return Wu._INSTANCE||(Wu._INSTANCE=new Wu)...
method getInstance (line 186) | static getInstance(){return Wu._INSTANCE||(Wu._INSTANCE=new Wu),Wu._IN...
method constructor (line 186) | constructor(){this._data=Ore()}
method getGraphemeBreakType (line 186) | getGraphemeBreakType(e){if(e<32)return e===10?3:e===13?2:4;if(e<127)re...
function Ore (line 186) | function Ore(){return JSON.parse("[0,0,0,51229,51255,12,44061,44087,12,1...
function Bre (line 186) | function Bre(s,e){if(s===0)return 0;const t=Wre(s,e);if(t!==void 0)retur...
function Wre (line 186) | function Wre(s,e){const t=new JP(e,s);let i=t.prevCodePoint();for(;Hre(i...
function Hre (line 186) | function Hre(s){return 127995<=s&&s<=127999}
class wf (line 186) | class wf{static getInstance(e){return a_.cache.get(Array.from(e))}static...
method getInstance (line 186) | static getInstance(e){return a_.cache.get(Array.from(e))}
method getLocales (line 186) | static getLocales(){return a_._locales.value}
method constructor (line 186) | constructor(e){this.confusableDictionary=e}
method isAmbiguous (line 186) | isAmbiguous(e){return this.confusableDictionary.has(e)}
method getPrimaryConfusable (line 186) | getPrimaryConfusable(e){return this.confusableDictionary.get(e)}
method getConfusableCodePoints (line 186) | getConfusableCodePoints(){return new Set(this.confusableDictionary.key...
function e (line 186) | function e(d){const c=new Map;for(let u=0;u<d.length;u+=2)c.set(d[u],d[u...
method constructor (line 239) | constructor(b){super(b),this._inSelectionMode=b.inSelectionMode}
method runCoreEditorCommand (line 239) | runCoreEditorCommand(b,C){if(!C.position)return;b.model.pushStackEleme...
method runEditorCommand (line 239) | runEditorCommand(i,n,o){const r=n._getViewModel();r&&this.runCoreEditi...
method constructor (line 832) | constructor(i,n,o,r){this.actions=i,this.trigger=n,this.editorPosition...
method constructor (line 832) | constructor(i,n,o){this.trigger=i,this.position=n,this._cancellablePro...
method cancel (line 832) | cancel(){this._cancellablePromise.cancel()}
method constructor (line 879) | constructor(n,o){this.request=n,this.previouslyActiveHints=o,this.type=2}
function t (line 186) | function t(d,c){const u=new Map(d);for(const[h,g]of c)u.set(h,g);return u}
method runCoreEditorCommand (line 239) | runCoreEditorCommand(b,C){b.model.pushStackElement();const w=this._get...
method constructor (line 879) | constructor(n){this.hints=n,this.type=1}
function i (line 186) | function i(d,c){if(!d)return c;const u=new Map;for(const[h,g]of d)c.has(...
method constructor (line 239) | constructor(b){super(b),this._isPaged=b.isPaged}
method _getColumnSelectResult (line 239) | _getColumnSelectResult(b,C,w,y){return Hg.columnSelectUp(b.cursorConfi...
class ld (line 186) | class ld{static getRawData(){return JSON.parse("[9,10,11,12,13,32,127,16...
method getRawData (line 186) | static getRawData(){return JSON.parse("[9,10,11,12,13,32,127,160,173,8...
method getData (line 186) | static getData(){return this._data||(this._data=new Set(ld.getRawData(...
method isInvisibleCharacter (line 186) | static isInvisibleCharacter(e){return ld.getData().has(e)}
method codePoints (line 186) | static get codePoints(){return ld.getData()}
class QN (line 186) | class QN{constructor(){this.mapWindowIdToZoomFactor=new Map}getZoomFacto...
method constructor (line 186) | constructor(){this.mapWindowIdToZoomFactor=new Map}
method getZoomFactor (line 186) | getZoomFactor(e){var t;return(t=this.mapWindowIdToZoomFactor.get(this....
method getWindowId (line 186) | getWindowId(e){return e.vscodeWindowId}
function uz (line 186) | function uz(s,e,t){typeof e=="string"&&(e=s.matchMedia(e)),e.addEventLis...
function Vre (line 186) | function Vre(s){return QN.INSTANCE.getZoomFactor(s)}
function JN (line 186) | function JN(s,e){if(typeof s=="number"){if(s===0)return null;const t=(s&...
function hw (line 186) | function hw(s,e){const t=!!(s&2048),i=!!(s&256),n=e===2?i:t,o=!!(s&1024)...
class Vc (line 186) | class Vc{constructor(e,t,i,n,o){this.ctrlKey=e,this.shiftKey=t,this.altK...
method constructor (line 186) | constructor(e,t,i,n,o){this.ctrlKey=e,this.shiftKey=t,this.altKey=i,th...
method equals (line 186) | equals(e){return e instanceof Vc&&this.ctrlKey===e.ctrlKey&&this.shift...
method isModifierKey (line 186) | isModifierKey(){return this.keyCode===0||this.keyCode===5||this.keyCod...
method isDuplicateModifierCase (line 186) | isDuplicateModifierCase(){return this.ctrlKey&&this.keyCode===5||this....
class PE (line 186) | class PE{constructor(e){if(e.length===0)throw Mr("chords");this.chords=e}}
method constructor (line 186) | constructor(e){if(e.length===0)throw Mr("chords");this.chords=e}
class zre (line 186) | class zre{constructor(e,t,i,n,o,r){this.ctrlKey=e,this.shiftKey=t,this.a...
method constructor (line 186) | constructor(e,t,i,n,o,r){this.ctrlKey=e,this.shiftKey=t,this.altKey=i,...
class Ure (line 186) | class Ure{}
function $re (line 186) | function $re(s){if(s.charCode){const t=String.fromCharCode(s.charCode).t...
class Kt (line 186) | class Kt{constructor(e){var t;this._standardKeyboardEventBrand=!0;const ...
method constructor (line 186) | constructor(e){var t;this._standardKeyboardEventBrand=!0;const i=e;thi...
method preventDefault (line 186) | preventDefault(){this.browserEvent&&this.browserEvent.preventDefault&&...
method stopPropagation (line 186) | stopPropagation(){this.browserEvent&&this.browserEvent.stopPropagation...
method toKeyCodeChord (line 186) | toKeyCodeChord(){return this._asKeyCodeChord}
method equals (line 186) | equals(e){return this._asKeybinding===e}
method _computeKeybinding (line 186) | _computeKeybinding(){let e=0;this.keyCode!==5&&this.keyCode!==4&&this....
method _computeKeyCodeChord (line 186) | _computeKeyCodeChord(){let e=0;return this.keyCode!==5&&this.keyCode!=...
function Zre (line 186) | function Zre(s){if(!s.parent||s.parent===s)return null;try{const e=s.loc...
class Xre (line 186) | class Xre{static getSameOriginWindowChain(e){let t=d3.get(e);if(!t){t=[]...
method getSameOriginWindowChain (line 186) | static getSameOriginWindowChain(e){let t=d3.get(e);if(!t){t=[],d3.set(...
method getPositionOfChildWindowRelativeToAncestorWindow (line 186) | static getPositionOfChildWindowRelativeToAncestorWindow(e,t){var i,n;i...
class ra (line 186) | class ra{constructor(e,t){this.timestamp=Date.now(),this.browserEvent=t,...
method constructor (line 186) | constructor(e,t){this.timestamp=Date.now(),this.browserEvent=t,this.le...
method preventDefault (line 186) | preventDefault(){this.browserEvent.preventDefault()}
method stopPropagation (line 186) | stopPropagation(){this.browserEvent.stopPropagation()}
class yf (line 186) | class yf{constructor(e,t=0,i=0){var n;this.browserEvent=e||null,this.tar...
method constructor (line 186) | constructor(e,t=0,i=0){var n;this.browserEvent=e||null,this.target=e?e...
method preventDefault (line 186) | preventDefault(){var e;(e=this.browserEvent)===null||e===void 0||e.pre...
method stopPropagation (line 186) | stopPropagation(){var e;(e=this.browserEvent)===null||e===void 0||e.st...
function eA (line 186) | function eA(s){return!!s&&typeof s.then=="function"}
function Dn (line 186) | function Dn(s){const e=new Vi,t=s(e.token),i=new Promise((n,o)=>{const r...
function h1 (line 186) | function h1(s,e,t){return new Promise((i,n)=>{const o=e.onCancellationRe...
class Yre (line 186) | class Yre{constructor(){this.isDisposed=!1,this.activePromise=null,this....
method constructor (line 186) | constructor(){this.isDisposed=!1,this.activePromise=null,this.queuedPr...
method queue (line 186) | queue(e){if(this.isDisposed)return Promise.reject(new Error("Throttler...
method dispose (line 186) | dispose(){this.isDisposed=!0}
class _a (line 186) | class _a{constructor(e){this.defaultDelay=e,this.deferred=null,this.comp...
method constructor (line 186) | constructor(e){this.defaultDelay=e,this.deferred=null,this.completionP...
method trigger (line 186) | trigger(e,t=this.defaultDelay){this.task=e,this.cancelTimeout(),this.c...
method isTriggered (line 186) | isTriggered(){var e;return!!(!((e=this.deferred)===null||e===void 0)&&...
method cancel (line 186) | cancel(){var e;this.cancelTimeout(),this.completionPromise&&((e=this.d...
method cancelTimeout (line 186) | cancelTimeout(){var e;(e=this.deferred)===null||e===void 0||e.dispose(...
method dispose (line 186) | dispose(){this.cancel()}
class fz (line 186) | class fz{constructor(e){this.delayer=new _a(e),this.throttler=new Yre}tr...
method constructor (line 186) | constructor(e){this.delayer=new _a(e),this.throttler=new Yre}
method trigger (line 186) | trigger(e,t){return this.delayer.trigger(()=>this.throttler.queue(e),t)}
method cancel (line 186) | cancel(){this.delayer.cancel()}
method dispose (line 186) | dispose(){this.delayer.dispose(),this.throttler.dispose()}
function xh (line 186) | function xh(s,e){return e?new Promise((t,i)=>{const n=setTimeout(()=>{o....
function kh (line 186) | function kh(s,e=0,t){const i=setTimeout(()=>{s(),t&&n.dispose()},e),n=Ie...
function sF (line 186) | function sF(s,e=i=>!!i,t=null){let i=0;const n=s.length,o=()=>{if(i>=n)r...
class ya (line 186) | class ya{constructor(e,t){this._token=-1,typeof e=="function"&&typeof t=...
method constructor (line 186) | constructor(e,t){this._token=-1,typeof e=="function"&&typeof t=="numbe...
method dispose (line 186) | dispose(){this.cancel()}
method cancel (line 186) | cancel(){this._token!==-1&&(clearTimeout(this._token),this._token=-1)}
method cancelAndSet (line 186) | cancelAndSet(e,t){this.cancel(),this._token=setTimeout(()=>{this._toke...
method setIfNotSet (line 186) | setIfNotSet(e,t){this._token===-1&&(this._token=setTimeout(()=>{this._...
class oF (line 186) | class oF{constructor(){this.disposable=void 0}cancel(){var e;(e=this.dis...
method constructor (line 186) | constructor(){this.disposable=void 0}
method cancel (line 186) | cancel(){var e;(e=this.disposable)===null||e===void 0||e.dispose(),thi...
method cancelAndSet (line 186) | cancelAndSet(e,t,i=globalThis){this.cancel();const n=i.setInterval(()=...
method dispose (line 186) | dispose(){this.cancel()}
class Wt (line 186) | class Wt{constructor(e,t){this.timeoutToken=-1,this.runner=e,this.timeou...
method constructor (line 186) | constructor(e,t){this.timeoutToken=-1,this.runner=e,this.timeout=t,thi...
method dispose (line 186) | dispose(){this.cancel(),this.runner=null}
method cancel (line 186) | cancel(){this.isScheduled()&&(clearTimeout(this.timeoutToken),this.tim...
method schedule (line 186) | schedule(e=this.timeout){this.cancel(),this.timeoutToken=setTimeout(th...
method delay (line 186) | get delay(){return this.timeout}
method delay (line 186) | set delay(e){this.timeout=e}
method isScheduled (line 186) | isScheduled(){return this.timeoutToken!==-1}
method onTimeout (line 186) | onTimeout(){this.timeoutToken=-1,this.runner&&this.doRun()}
method doRun (line 186) | doRun(){var e;(e=this.runner)===null||e===void 0||e.call(this)}
method timeRemaining (line 186) | timeRemaining(){return Math.max(0,i-Date.now())}
method dispose (line 186) | dispose(){t||(t=!0)}
method dispose (line 186) | dispose(){n||(n=!0,s.cancelIdleCallback(i))}
class mz (line 186) | class mz{constructor(e,t){this._didRun=!1,this._executor=()=>{try{this._...
method constructor (line 186) | constructor(e,t){this._didRun=!1,this._executor=()=>{try{this._value=t...
method dispose (line 186) | dispose(){this._handle.dispose()}
method value (line 186) | get value(){if(this._didRun||(this._handle.dispose(),this._executor())...
method isInitialized (line 186) | get isInitialized(){return this._didRun}
class eae (line 186) | class eae extends mz{constructor(e){super(globalThis,e)}}
method constructor (line 186) | constructor(e){super(globalThis,e)}
class ZL (line 186) | class ZL{get isRejected(){var e;return((e=this.outcome)===null||e===void...
method isRejected (line 186) | get isRejected(){var e;return((e=this.outcome)===null||e===void 0?void...
method isSettled (line 186) | get isSettled(){return!!this.outcome}
method constructor (line 186) | constructor(){this.p=new Promise((e,t)=>{this.completeCallback=e,this....
method complete (line 186) | complete(e){return new Promise(t=>{this.completeCallback(e),this.outco...
method error (line 186) | error(e){return new Promise(t=>{this.errorCallback(e),this.outcome={ou...
method cancel (line 186) | cancel(){return this.error(new sl)}
function e (line 186) | async function e(i){let n;const o=await Promise.all(i.map(r=>r.then(a=>a...
method constructor (line 239) | constructor(b){super(b),this._inSelectionMode=b.inSelectionMode}
method runCoreEditorCommand (line 239) | runCoreEditorCommand(b,C){if(!C.position)return;b.model.pushStackEleme...
method runEditorCommand (line 239) | runEditorCommand(i,n,o){const r=n._getViewModel();r&&this.runCoreEditi...
method constructor (line 832) | constructor(i,n,o,r){this.actions=i,this.trigger=n,this.editorPosition...
method constructor (line 832) | constructor(i,n,o){this.trigger=i,this.position=n,this._cancellablePro...
method cancel (line 832) | cancel(){this._cancellablePromise.cancel()}
method constructor (line 879) | constructor(n,o){this.request=n,this.previouslyActiveHints=o,this.type=2}
function t (line 186) | function t(i){return new Promise(async(n,o)=>{try{await i(n,o)}catch(r){...
method runCoreEditorCommand (line 239) | runCoreEditorCommand(b,C){b.model.pushStackElement();const w=this._get...
method constructor (line 879) | constructor(n){this.hints=n,this.type=1}
class Xi (line 186) | class Xi{static fromArray(e){return new Xi(t=>{t.emitMany(e)})}static fr...
method fromArray (line 186) | static fromArray(e){return new Xi(t=>{t.emitMany(e)})}
method fromPromise (line 186) | static fromPromise(e){return new Xi(async t=>{t.emitMany(await e)})}
method fromPromises (line 186) | static fromPromises(e){return new Xi(async t=>{await Promise.all(e.map...
method merge (line 186) | static merge(e){return new Xi(async t=>{await Promise.all(e.map(async ...
method constructor (line 186) | constructor(e,t){this._state=0,this._results=[],this._error=null,this....
method map (line 186) | static map(e,t){return new Xi(async i=>{for await(const n of e)i.emitO...
method map (line 186) | map(e){return Xi.map(this,e)}
method filter (line 186) | static filter(e,t){return new Xi(async i=>{for await(const n of e)t(n)...
method filter (line 186) | filter(e){return Xi.filter(this,e)}
method coalesce (line 186) | static coalesce(e){return Xi.filter(e,t=>!!t)}
method coalesce (line 186) | coalesce(){return Xi.coalesce(this)}
method toPromise (line 186) | static async toPromise(e){const t=[];for await(const i of e)t.push(i);...
method toPromise (line 186) | toPromise(){return Xi.toPromise(this)}
method emitOne (line 186) | emitOne(e){this._state===0&&(this._results.push(e),this._onStateChange...
method emitMany (line 186) | emitMany(e){this._state===0&&(this._results=this._results.concat(e),th...
method resolve (line 186) | resolve(){this._state===0&&(this._state=1,this._onStateChanged.fire())}
method reject (line 186) | reject(e){this._state===0&&(this._state=2,this._error=e,this._onStateC...
method [Symbol.asyncIterator] (line 186) | [Symbol.asyncIterator](){let e=0;return{next:async()=>{do{if(this._state...
class tae (line 186) | class tae extends Xi{constructor(e,t){super(t),this._source=e}cancel(){t...
method constructor (line 186) | constructor(e,t){super(t),this._source=e}
method cancel (line 186) | cancel(){this._source.cancel()}
function iae (line 186) | function iae(s){const e=new Vi,t=s(e.token);return new tae(e,async i=>{c...
function va (line 186) | function va(s){return function(e){for(var t=arguments.length,i=new Array...
function uae (line 186) | function uae(s){return function(){for(var e=arguments.length,t=new Array...
function Ft (line 186) | function Ft(s,e,t){var i;t=(i=t)!==null&&i!==void 0?i:By,c3&&c3(s,null);...
function Dp (line 186) | function Dp(s){const e=rae(null);for(const[t,i]of _z(s))e[t]=i;return e}
function gw (line 186) | function gw(s,e){for(;s!==null;){const i=oae(s,e);if(i){if(i.get)return ...
method createHTML (line 186) | createHTML(r){return r}
method createScriptURL (line 186) | createScriptURL(r){return r}
function Cz (line 186) | function Cz(){let s=arguments.length>0&&arguments[0]!==void 0?arguments[...
function rF (line 187) | function rF(s,e){return Ae.isUri(s)?em(s.scheme,e):YP(s,e+":")}
function _3 (line 187) | function _3(s,...e){return e.some(t=>rF(s,t))}
class Dae (line 187) | class Dae{constructor(){this._hosts=Object.create(null),this._ports=Obje...
method constructor (line 187) | constructor(){this._hosts=Object.create(null),this._ports=Object.creat...
method setPreferredWebSchema (line 187) | setPreferredWebSchema(e){this._preferredWebSchema=e}
method _remoteResourcesPath (line 187) | get _remoteResourcesPath(){return Yi.join(this._serverRootPath,Ge.vsco...
method rewrite (line 187) | rewrite(e){if(this._delegate)try{return this._delegate(e)}catch(a){ret...
class Pb (line 187) | class Pb{uriToBrowserUri(e){return e.scheme===Ge.vscodeRemote?Sz.rewrite...
method uriToBrowserUri (line 187) | uriToBrowserUri(e){return e.scheme===Ge.vscodeRemote?Sz.rewrite(e):e.s...
function i (line 187) | function i(o){let r;typeof o=="string"?r=new URL(o).searchParams:o insta...
method constructor (line 239) | constructor(b){super(b),this._isPaged=b.isPaged}
method _getColumnSelectResult (line 239) | _getColumnSelectResult(b,C,w,y){return Hg.columnSelectUp(b.cursorConfi...
function n (line 187) | function n(o,r,a){if(!globalThis.crossOriginIsolated)return;const l=r&&a...
method constructor (line 239) | constructor(b){super(b),this._isPaged=b.isPaged}
method _getColumnSelectResult (line 239) | _getColumnSelectResult(b,C,w,y){return Hg.columnSelectDown(b.cursorCon...
function XL (line 187) | function XL(s){return YL(s,0)}
function YL (line 187) | function YL(s,e){switch(typeof s){case"object":return s===null?cc(349,e)...
function cc (line 187) | function cc(s,e){return(e<<5)-e+s|0}
function xae (line 187) | function xae(s,e){return cc(s?433:863,e)}
function aF (line 187) | function aF(s,e){e=cc(149417,e);for(let t=0,i=s.length;t<i;t++)e=cc(s.ch...
function kae (line 187) | function kae(s,e){return e=cc(104579,e),s.reduce((t,i)=>YL(i,t),e)}
function Eae (line 187) | function Eae(s,e){return e=cc(181387,e),Object.keys(s).sort().reduce((t,...
function VE (line 187) | function VE(s,e,t=32){const i=t-e,n=~((1<<i)-1);return(s<<e|(n&s)>>>i)>>>0}
function b3 (line 187) | function b3(s,e=0,t=s.byteLength,i=0){for(let n=0;n<t;n++)s[e+n]=i}
function Iae (line 187) | function Iae(s,e,t="0"){for(;s.length<e;)s=t+s;return s}
function P0 (line 187) | function P0(s,e=32){return s instanceof ArrayBuffer?Array.from(new Uint8...
class QL (line 187) | class QL{constructor(){this._h0=1732584193,this._h1=4023233417,this._h2=...
method constructor (line 187) | constructor(){this._h0=1732584193,this._h1=4023233417,this._h2=2562383...
method update (line 187) | update(e){const t=e.length;if(t===0)return;const i=this._buff;let n=th...
method _push (line 187) | _push(e,t,i){return i<128?e[t++]=i:i<2048?(e[t++]=192|(i&1984)>>>6,e[t...
method digest (line 187) | digest(){return this._finished||(this._finished=!0,this._leftoverHighS...
method _wrapUp (line 187) | _wrapUp(){this._buff[this._buffLen++]=128,b3(this._buff,this._buffLen)...
method _step (line 187) | _step(){const e=QL._bigBlock32,t=this._buffDV;for(let u=0;u<64;u+=4)e....
function o (line 187) | function o(r,a){const l=typeof r=="number"?s.get(r):void 0;return l??(a?...
method constructor (line 239) | constructor(){super({id:"cursorMove",precondition:void 0,metadata:rD.m...
method runCoreEditorCommand (line 239) | runCoreEditorCommand(b,C){const w=rD.parse(C);w&&this._runCursorMove(b...
method _runCursorMove (line 239) | _runCursorMove(b,C,w){b.model.pushStackElement(),b.setCursorStates(C,3...
method _move (line 239) | static _move(b,C,w){const y=w.select,D=w.value;switch(w.direction){cas...
method registerWindow (line 187) | registerWindow(r){if(s.has(r.vscodeWindowId))return H.None;const a=new Y...
method getWindows (line 187) | getWindows(){return s.values()}
method getWindowsCount (line 187) | getWindowsCount(){return s.size}
method getWindowId (line 187) | getWindowId(r){return r.vscodeWindowId}
method hasWindow (line 187) | hasWindow(r){return s.has(r)}
method getWindow (line 187) | getWindow(r){var a;const l=r;if(!((a=l==null?void 0:l.ownerDocument)===n...
method getDocument (line 187) | getDocument(r){return Te(r).document}
function zn (line 187) | function zn(s){for(;s.firstChild;)s.firstChild.remove()}
class Mae (line 187) | class Mae{constructor(e,t,i,n){this._node=e,this._type=t,this._handler=i...
method constructor (line 187) | constructor(e,t,i,n){this._node=e,this._type=t,this._handler=i,this._o...
method dispose (line 187) | dispose(){this._handler&&(this._node.removeEventListener(this._type,th...
function K (line 187) | function K(s,e,t,i){return new Mae(s,e,t,i)}
function xz (line 187) | function xz(s,e){return function(t){return e(new ra(s,t))}}
function Rae (line 187) | function Rae(s){return function(e){return s(new Kt(e))}}
function Fae (line 187) | function Fae(s,e,t){return K(s,_d&&nF.pointerEvents?ee.POINTER_DOWN:ee.M...
function uv (line 187) | function uv(s,e,t){return Vv(s,e,t)}
class zE (line 187) | class zE extends mz{constructor(e,t){super(e,t)}}
method constructor (line 187) | constructor(e,t){super(e,t)}
class lF (line 187) | class lF extends oF{constructor(e){super(),this.defaultTarget=e&&Te(e)}c...
method constructor (line 187) | constructor(e){super(),this.defaultTarget=e&&Te(e)}
method cancelAndSet (line 187) | cancelAndSet(e,t,i){return super.cancelAndSet(e,t,i??this.defaultTarget)}
class UE (line 187) | class UE{constructor(e,t=0){this._runner=e,this.priority=t,this._cancele...
method constructor (line 187) | constructor(e,t=0){this._runner=e,this.priority=t,this._canceled=!1}
method dispose (line 187) | dispose(){this._canceled=!0}
method execute (line 187) | execute(){if(!this._canceled)try{this._runner()}catch(e){Xe(e)}}
method sort (line 187) | static sort(e,t){return t.priority-e.priority}
function ex (line 187) | function ex(s){return Te(s).getComputedStyle(s,null)}
function Eh (line 187) | function Eh(s,e){const t=Te(s),i=t.document;if(s!==i.body)return new Dt(...
class Oi (line 187) | class Oi{static convertToPixels(e,t){return parseFloat(t)||0}static getD...
method convertToPixels (line 187) | static convertToPixels(e,t){return parseFloat(t)||0}
method getDimension (line 187) | static getDimension(e,t,i){const n=ex(e),o=n?n.getPropertyValue(t):"0"...
method getBorderLeftWidth (line 187) | static getBorderLeftWidth(e){return Oi.getDimension(e,"border-left-wid...
method getBorderRightWidth (line 187) | static getBorderRightWidth(e){return Oi.getDimension(e,"border-right-w...
method getBorderTopWidth (line 187) | static getBorderTopWidth(e){return Oi.getDimension(e,"border-top-width...
method getBorderBottomWidth (line 187) | static getBorderBottomWidth(e){return Oi.getDimension(e,"border-bottom...
method getPaddingLeft (line 187) | static getPaddingLeft(e){return Oi.getDimension(e,"padding-left","padd...
method getPaddingRight (line 187) | static getPaddingRight(e){return Oi.getDimension(e,"padding-right","pa...
method getPaddingTop (line 187) | static getPaddingTop(e){return Oi.getDimension(e,"padding-top","paddin...
method getPaddingBottom (line 187) | static getPaddingBottom(e){return Oi.getDimension(e,"padding-bottom","...
method getMarginLeft (line 187) | static getMarginLeft(e){return Oi.getDimension(e,"margin-left","margin...
method getMarginTop (line 187) | static getMarginTop(e){return Oi.getDimension(e,"margin-top","marginTo...
method getMarginRight (line 187) | static getMarginRight(e){return Oi.getDimension(e,"margin-right","marg...
method getMarginBottom (line 187) | static getMarginBottom(e){return Oi.getDimension(e,"margin-bottom","ma...
class Dt (line 187) | class Dt{constructor(e,t){this.width=e,this.height=t}with(e=this.width,t...
method constructor (line 187) | constructor(e,t){this.width=e,this.height=t}
method with (line 187) | with(e=this.width,t=this.height){return e!==this.width||t!==this.heigh...
method is (line 187) | static is(e){return typeof e=="object"&&typeof e.height=="number"&&typ...
method lift (line 187) | static lift(e){return e instanceof Dt?e:new Dt(e.width,e.height)}
method equals (line 187) | static equals(e,t){return e===t?!0:!e||!t?!1:e.width===t.width&&e.heig...
function kz (line 187) | function kz(s){let e=s.offsetParent,t=s.offsetTop,i=s.offsetLeft;for(;(s...
function Oae (line 187) | function Oae(s,e,t){typeof e=="number"&&(s.style.width=`${e}px`),typeof ...
function qi (line 187) | function qi(s){const e=s.getBoundingClientRect(),t=Te(s);return{left:e.l...
function Ez (line 187) | function Ez(s){let e=s,t=1;do{const i=ex(e).zoom;i!=null&&i!=="1"&&(t*=i...
function wo (line 187) | function wo(s){const e=Oi.getMarginLeft(s)+Oi.getMarginRight(s);return s...
function $E (line 187) | function $E(s){const e=Oi.getBorderLeftWidth(s)+Oi.getBorderRightWidth(s...
function Bae (line 187) | function Bae(s){const e=Oi.getBorderTopWidth(s)+Oi.getBorderBottomWidth(...
function uc (line 187) | function uc(s){const e=Oi.getMarginTop(s)+Oi.getMarginBottom(s);return s...
function An (line 187) | function An(s,e){return!!(e!=null&&e.contains(s))}
function Wae (line 187) | function Wae(s,e,t){for(;s&&s.nodeType===s.ELEMENT_NODE;){if(s.classList...
function jE (line 187) | function jE(s,e,t){return!!Wae(s,e,t)}
function Iz (line 187) | function Iz(s){return s&&!!s.host&&!!s.mode}
function US (line 187) | function US(s){return!!Sf(s)}
function Sf (line 187) | function Sf(s){for(var e;s.parentNode;){if(s===((e=s.ownerDocument)===nu...
function Xn (line 187) | function Xn(){let s=o0().activeElement;for(;s!=null&&s.shadowRoot;)s=s.s...
function tx (line 187) | function tx(s){return Xn()===s}
function Tz (line 187) | function Tz(s){return An(Xn(),s)}
function o0 (line 187) | function o0(){var s;return Tae()<=1?Ht.document:(s=Array.from(Lz()).map(...
function Hae (line 187) | function Hae(){var s,e;return(e=(s=o0().defaultView)===null||s===void 0?...
function Nz (line 187) | function Nz(){return new Vae}
class Vae (line 187) | class Vae{constructor(){this._currentCssStyle="",this._styleSheet=void 0...
method constructor (line 187) | constructor(){this._currentCssStyle="",this._styleSheet=void 0}
method setStyle (line 187) | setStyle(e){e!==this._currentCssStyle&&(this._currentCssStyle=e,this._...
method dispose (line 187) | dispose(){this._styleSheet&&(this._styleSheet.remove(),this._styleShee...
function ar (line 187) | function ar(s=Ht.document.head,e,t){const i=document.createElement("styl...
function zae (line 187) | function zae(s,e,t){var i,n;const o=new Y,r=s.cloneNode(!0);t.document.h...
method constructor (line 187) | constructor(){this.mutationObservers=new Map}
method observe (line 187) | observe(s,e,t){let i=this.mutationObservers.get(s);i||(i=new Map,this.mu...
function Az (line 187) | function Az(){return KE||(KE=ar()),KE}
function Mz (line 187) | function Mz(s){var e,t;return!((e=s==null?void 0:s.sheet)===null||e===vo...
function $S (line 187) | function $S(s,e,t=Az()){var i,n;if(!(!t||!e)){(i=t.sheet)===null||i===vo...
function oA (line 187) | function oA(s,e=Az()){var t,i;if(!e)return;const n=Mz(e),o=[];for(let r=...
function $ae (line 187) | function $ae(s){return typeof s.selectorText=="string"}
function cF (line 187) | function cF(s){return s instanceof MouseEvent||s instanceof Te(s).MouseE...
function Iu (line 187) | function Iu(s){return s instanceof KeyboardEvent||s instanceof Te(s).Key...
function jae (line 187) | function jae(s){const e=s;return!!(e&&typeof e.preventDefault=="function...
function Kae (line 187) | function Kae(s){const e=[];for(let t=0;s&&s.nodeType===s.ELEMENT_NODE;t+...
function qae (line 187) | function qae(s,e){for(let t=0;s&&s.nodeType===s.ELEMENT_NODE;t++)s.scrol...
class jS (line 187) | class jS extends H{static hasFocusWithin(e){if(e instanceof HTMLElement)...
method hasFocusWithin (line 187) | static hasFocusWithin(e){if(e instanceof HTMLElement){const t=Sf(e),i=...
method constructor (line 187) | constructor(e){super(),this._onDidFocus=this._register(new B),this.onD...
function ba (line 187) | function ba(s){return new jS(s)}
function Gae (line 187) | function Gae(s,e){return s.after(e),e}
function Q (line 187) | function Q(s,...e){if(s.append(...e),e.length===1&&typeof e[0]!="string"...
function uF (line 187) | function uF(s,e){return s.insertBefore(e,s.firstChild),e}
function Yn (line 187) | function Yn(s,...e){s.innerText="",Q(s,...e)}
function Rz (line 187) | function Rz(s,e,t,...i){const n=Zae.exec(e);if(!n)throw new Error("Bad u...
function he (line 187) | function he(s,e,...t){return Rz(Fb.HTML,s,e,...t)}
function Xae (line 187) | function Xae(s,...e){s?Do(...e):Es(...e)}
function Do (line 187) | function Do(...s){for(const e of s)e.style.display="",e.removeAttribute(...
function Es (line 187) | function Es(...s){for(const e of s)e.style.display="none",e.setAttribute...
function w3 (line 187) | function w3(s,e){const t=s.devicePixelRatio*e;return Math.max(1,Math.flo...
function Pz (line 187) | function Pz(s){Ht.open(s,"_blank","noopener")}
function Yae (line 187) | function Yae(s,e){const t=()=>{e(),i=Ao(s,t)};let i=Ao(s,t);return Ie(()...
function Ih (line 187) | function Ih(s){return s?`url('${Dz.uriToBrowserUri(s).toString(!0).repla...
function qE (line 187) | function qE(s){return`'${s.replace(/'/g,"%27")}'`}
function Ec (line 187) | function Ec(s,e){if(s!==void 0){const t=s.match(/^\s*var\((.+)\)$/);if(t...
function Qae (line 187) | function Qae(s,e=!1){const t=document.createElement("a");return sA("afte...
class hc (line 187) | class hc extends B{constructor(){super(),this._subscriptions=new Y,this....
method constructor (line 187) | constructor(){super(),this._subscriptions=new Y,this._keyStatus={altKe...
method registerListeners (line 187) | registerListeners(e,t){t.add(K(e,"keydown",i=>{if(i.defaultPrevented)r...
method keyStatus (line 187) | get keyStatus(){return this._keyStatus}
method resetKeyStatus (line 187) | resetKeyStatus(){this.doResetKeyStatus(),this.fire(this._keyStatus)}
method doResetKeyStatus (line 187) | doResetKeyStatus(){this._keyStatus={altKey:!1,shiftKey:!1,ctrlKey:!1,m...
method getInstance (line 187) | static getInstance(){return hc.instance||(hc.instance=new hc),hc.insta...
method dispose (line 187) | dispose(){super.dispose(),this._subscriptions.dispose()}
class ele (line 187) | class ele extends H{constructor(e,t){super(),this.element=e,this.callbac...
method constructor (line 187) | constructor(e,t){super(),this.element=e,this.callbacks=t,this.counter=...
method registerListeners (line 187) | registerListeners(){this.callbacks.onDragStart&&this._register(K(this....
function Nt (line 187) | function Nt(s,...e){let t,i;Array.isArray(e[0])?(t={},i=e[0]):(t=e[0]||{...
function y3 (line 187) | function y3(s){return s.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase()}
class ile (line 187) | class ile extends H{constructor(e){super(),this._onDidChange=this._regis...
method constructor (line 187) | constructor(e){super(),this._onDidChange=this._register(new B),this.on...
method _handleChange (line 187) | _handleChange(e,t){var i;(i=this._mediaQueryList)===null||i===void 0||...
class nle (line 187) | class nle extends H{get value(){return this._value}constructor(e){super(...
method value (line 187) | get value(){return this._value}
method constructor (line 187) | constructor(e){super(),this._onDidChange=this._register(new B),this.on...
method _getPixelRatio (line 187) | _getPixelRatio(e){const t=document.createElement("canvas").getContext(...
class sle (line 187) | class sle{constructor(){this.mapWindowIdToPixelRatioMonitor=new Map}_get...
method constructor (line 187) | constructor(){this.mapWindowIdToPixelRatioMonitor=new Map}
method _getOrCreatePixelRatioMonitor (line 187) | _getOrCreatePixelRatioMonitor(e){const t=VS(e);let i=this.mapWindowIdT...
method getInstance (line 187) | getInstance(e){return this._getOrCreatePixelRatioMonitor(e)}
class Fz (line 187) | class Fz{constructor(e){this.domNode=e,this._maxWidth="",this._width="",...
method constructor (line 187) | constructor(e){this.domNode=e,this._maxWidth="",this._width="",this._h...
method setMaxWidth (line 187) | setMaxWidth(e){const t=ka(e);this._maxWidth!==t&&(this._maxWidth=t,thi...
method setWidth (line 187) | setWidth(e){const t=ka(e);this._width!==t&&(this._width=t,this.domNode...
method setHeight (line 187) | setHeight(e){const t=ka(e);this._height!==t&&(this._height=t,this.domN...
method setTop (line 187) | setTop(e){const t=ka(e);this._top!==t&&(this._top=t,this.domNode.style...
method setLeft (line 187) | setLeft(e){const t=ka(e);this._left!==t&&(this._left=t,this.domNode.st...
method setBottom (line 187) | setBottom(e){const t=ka(e);this._bottom!==t&&(this._bottom=t,this.domN...
method setRight (line 187) | setRight(e){const t=ka(e);this._right!==t&&(this._right=t,this.domNode...
method setPaddingLeft (line 187) | setPaddingLeft(e){const t=ka(e);this._paddingLeft!==t&&(this._paddingL...
method setFontFamily (line 187) | setFontFamily(e){this._fontFamily!==e&&(this._fontFamily=e,this.domNod...
method setFontWeight (line 187) | setFontWeight(e){this._fontWeight!==e&&(this._fontWeight=e,this.domNod...
method setFontSize (line 187) | setFontSize(e){const t=ka(e);this._fontSize!==t&&(this._fontSize=t,thi...
method setFontStyle (line 187) | setFontStyle(e){this._fontStyle!==e&&(this._fontStyle=e,this.domNode.s...
method setFontFeatureSettings (line 187) | setFontFeatureSettings(e){this._fontFeatureSettings!==e&&(this._fontFe...
method setFontVariationSettings (line 187) | setFontVariationSettings(e){this._fontVariationSettings!==e&&(this._fo...
method setTextDecoration (line 187) | setTextDecoration(e){this._textDecoration!==e&&(this._textDecoration=e...
method setLineHeight (line 187) | setLineHeight(e){const t=ka(e);this._lineHeight!==t&&(this._lineHeight...
method setLetterSpacing (line 187) | setLetterSpacing(e){const t=ka(e);this._letterSpacing!==t&&(this._lett...
method setClassName (line 187) | setClassName(e){this._className!==e&&(this._className=e,this.domNode.c...
method toggleClassName (line 187) | toggleClassName(e,t){this.domNode.classList.toggle(e,t),this._classNam...
method setDisplay (line 187) | setDisplay(e){this._display!==e&&(this._display=e,this.domNode.style.d...
method setPosition (line 187) | setPosition(e){this._position!==e&&(this._position=e,this.domNode.styl...
method setVisibility (line 187) | setVisibility(e){this._visibility!==e&&(this._visibility=e,this.domNod...
method setColor (line 187) | setColor(e){this._color!==e&&(this._color=e,this.domNode.style.color=t...
method setBackgroundColor (line 187) | setBackgroundColor(e){this._backgroundColor!==e&&(this._backgroundColo...
method setLayerHinting (line 187) | setLayerHinting(e){this._layerHint!==e&&(this._layerHint=e,this.domNod...
method setBoxShadow (line 187) | setBoxShadow(e){this._boxShadow!==e&&(this._boxShadow=e,this.domNode.s...
method setContain (line 187) | setContain(e){this._contain!==e&&(this._contain=e,this.domNode.style.c...
method setAttribute (line 187) | setAttribute(e,t){this.domNode.setAttribute(e,t)}
method removeAttribute (line 187) | removeAttribute(e){this.domNode.removeAttribute(e)}
method appendChild (line 187) | appendChild(e){this.domNode.appendChild(e.domNode)}
method removeChild (line 187) | removeChild(e){this.domNode.removeChild(e.domNode)}
function ka (line 187) | function ka(s){return typeof s=="number"?`${s}px`:s}
function It (line 187) | function It(s){return new Fz(s)}
function Un (line 187) | function Un(s,e){s instanceof Fz?(s.setFontFamily(e.getMassagedFontFamil...
class ole (line 187) | class ole{constructor(e,t){this.chr=e,this.type=t,this.width=0}fulfill(e...
method constructor (line 187) | constructor(e,t){this.chr=e,this.type=t,this.width=0}
method fulfill (line 187) | fulfill(e){this.width=e}
class hF (line 187) | class hF{constructor(e,t){this._bareFontInfo=e,this._requests=t,this._co...
method constructor (line 187) | constructor(e,t){this._bareFontInfo=e,this._requests=t,this._container...
method read (line 187) | read(e){this._createDomElements(),e.document.body.appendChild(this._co...
method _createDomElements (line 187) | _createDomElements(){const e=document.createElement("div");e.style.pos...
method _render (line 187) | static _render(e,t){if(t.chr===" "){let i=" ";for(let n=0;n<8;n++)i+=i...
method _readFromDomElements (line 187) | _readFromDomElements(){for(let e=0,t=this._requests.length;e<t;e++){co...
function rle (line 187) | function rle(s,e,t){new hF(e,t).read(s)}
method constructor (line 187) | constructor(){this._zoomLevel=0,this._onDidChangeZoomLevel=new B,this.on...
method getZoomLevel (line 187) | getZoomLevel(){return this._zoomLevel}
method setZoomLevel (line 187) | setZoomLevel(s){s=Math.min(Math.max(-5,s),20),this._zoomLevel!==s&&(this...
class rf (line 187) | class rf{static createFromValidatedSettings(e,t,i){const n=e.get(49),o=e...
method createFromValidatedSettings (line 187) | static createFromValidatedSettings(e,t,i){const n=e.get(49),o=e.get(53...
method _create (line 187) | static _create(e,t,i,n,o,r,a,l,d){r===0?r=ale*i:r<GE&&(r=r*i),r=Math.r...
method constructor (line 187) | constructor(e){this._bareFontInfoBrand=void 0,this.pixelRatio=e.pixelR...
method getId (line 187) | getId(){return`${this.pixelRatio}-${this.fontFamily}-${this.fontWeight...
method getMassagedFontFamily (line 187) | getMassagedFontFamily(){const e=co.fontFamily,t=rf._wrapInQuotes(this....
method _wrapInQuotes (line 187) | static _wrapInQuotes(e){return/[,"']/.test(e)?e:/[+ ]/.test(e)?`"${e}"...
class rA (line 187) | class rA extends rf{constructor(e,t){super(e),this._editorStylingBrand=v...
method constructor (line 187) | constructor(e,t){super(e),this._editorStylingBrand=void 0,this.version...
method equals (line 187) | equals(e){return this.fontFamily===e.fontFamily&&this.fontWeight===e.f...
class dle (line 187) | class dle extends H{constructor(){super(...arguments),this._cache=new Ma...
method constructor (line 187) | constructor(){super(...arguments),this._cache=new Map,this._evictUntru...
method dispose (line 187) | dispose(){this._evictUntrustedReadingsTimeout!==-1&&(clearTimeout(this...
method clearAllFontInfos (line 187) | clearAllFontInfos(){this._cache.clear(),this._onDidChange.fire()}
method _ensureCache (line 187) | _ensureCache(e){const t=VS(e);let i=this._cache.get(t);return i||(i=ne...
method _writeToCache (line 187) | _writeToCache(e,t,i){this._ensureCache(e).put(t,i),!i.isTrusted&&this....
method _evictUntrustedReadings (line 187) | _evictUntrustedReadings(e){const t=this._ensureCache(e),i=t.getValues(...
method readFontInfo (line 187) | readFontInfo(e,t){const i=this._ensureCache(e);if(!i.has(t)){let n=thi...
method _createRequest (line 187) | _createRequest(e,t,i,n){const o=new ole(e,t);return i.push(o),n==null|...
method _actualReadFontInfo (line 187) | _actualReadFontInfo(e,t){const i=[],n=[],o=this._createRequest("n",0,i...
class cle (line 187) | class cle{constructor(){this._keys=Object.create(null),this._values=Obje...
method constructor (line 187) | constructor(){this._keys=Object.create(null),this._values=Object.creat...
method has (line 187) | has(e){const t=e.getId();return!!this._values[t]}
method get (line 187) | get(e){const t=e.getId();return this._values[t]}
method put (line 187) | put(e,t){const i=e.getId();this._keys[i]=e,this._values[i]=t}
method remove (line 187) | remove(e){const t=e.getId();delete this._keys[t],delete this._values[t]}
method getValues (line 187) | getValues(){return Object.keys(this._keys).map(e=>this._values[e])}
function e (line 187) | function e(t){return t[s.DI_DEPENDENCIES]||[]}
method constructor (line 239) | constructor(b){super(b),this._inSelectionMode=b.inSelectionMode}
method runCoreEditorCommand (line 239) | runCoreEditorCommand(b,C){if(!C.position)return;b.model.pushStackEleme...
method runEditorCommand (line 239) | runEditorCommand(i,n,o){const r=n._getViewModel();r&&this.runCoreEditi...
method constructor (line 832) | constructor(i,n,o,r){this.actions=i,this.trigger=n,this.editorPosition...
method constructor (line 832) | constructor(i,n,o){this.trigger=i,this.position=n,this._cancellablePro...
method cancel (line 832) | cancel(){this._cancellablePromise.cancel()}
method constructor (line 879) | constructor(n,o){this.request=n,this.previouslyActiveHints=o,this.type=2}
function ule (line 187) | function ule(s,e,t){e[qa.DI_TARGET]===e?e[qa.DI_DEPENDENCIES].push({id:s...
function ut (line 187) | function ut(s){if(qa.serviceIds.has(s))return qa.serviceIds.get(s);const...
class Eo (line 187) | class Eo extends H{constructor(e,t="",i="",n=!0,o){super(),this._onDidCh...
method constructor (line 187) | constructor(e,t="",i="",n=!0,o){super(),this._onDidChange=this._regist...
method id (line 187) | get id(){return this._id}
method label (line 187) | get label(){return this._label}
method label (line 187) | set label(e){this._setLabel(e)}
method _setLabel (line 187) | _setLabel(e){this._label!==e&&(this._label=e,this._onDidChange.fire({l...
method tooltip (line 187) | get tooltip(){return this._tooltip||""}
method tooltip (line 187) | set tooltip(e){this._setTooltip(e)}
method _setTooltip (line 187) | _setTooltip(e){this._tooltip!==e&&(this._tooltip=e,this._onDidChange.f...
method class (line 187) | get class(){return this._cssClass}
method class (line 187) | set class(e){this._setClass(e)}
method _setClass (line 187) | _setClass(e){this._cssClass!==e&&(this._cssClass=e,this._onDidChange.f...
method enabled (line 187) | get enabled(){return this._enabled}
method enabled (line 187) | set enabled(e){this._setEnabled(e)}
method _setEnabled (line 187) | _setEnabled(e){this._enabled!==e&&(this._enabled=e,this._onDidChange.f...
method checked (line 187) | get checked(){return this._checked}
method checked (line 187) | set checked(e){this._setChecked(e)}
method _setChecked (line 187) | _setChecked(e){this._checked!==e&&(this._checked=e,this._onDidChange.f...
method run (line 187) | async run(e,t){this._actionCallback&&await this._actionCallback(e)}
class Df (line 187) | class Df extends H{constructor(){super(...arguments),this._onWillRun=thi...
method constructor (line 187) | constructor(){super(...arguments),this._onWillRun=this._register(new B...
method run (line 187) | async run(e,t){if(!e.enabled)return;this._onWillRun.fire({action:e});l...
method runAction (line 187) | async runAction(e,t){await e.run(t)}
class rn (line 187) | class rn{constructor(){this.id=rn.ID,this.label="",this.tooltip="",this....
method constructor (line 187) | constructor(){this.id=rn.ID,this.label="",this.tooltip="",this.class="...
method join (line 187) | static join(...e){let t=[];for(const i of e)i.length&&(t.length?t=[......
method run (line 187) | async run(){}
class c_ (line 187) | class c_{get actions(){return this._actions}constructor(e,t,i,n){this.to...
method actions (line 187) | get actions(){return this._actions}
method constructor (line 187) | constructor(e,t,i,n){this.tooltip="",this.enabled=!0,this.checked=void...
method run (line 187) | async run(){}
class ix (line 187) | class ix extends Eo{constructor(){super(ix.ID,p("submenu.empty","(empty)...
method constructor (line 187) | constructor(){super(ix.ID,p("submenu.empty","(empty)"),void 0,!1)}
function af (line 187) | function af(s){var e;return{id:s.id,label:s.label,class:s.class,enabled:...
function e (line 187) | function e(t){return t&&typeof t=="object"&&typeof t.id=="string"}
method constructor (line 239) | constructor(b){super(b),this._inSelectionMode=b.inSelectionMode}
method runCoreEditorCommand (line 239) | runCoreEditorCommand(b,C){if(!C.position)return;b.model.pushStackEleme...
method runEditorCommand (line 239) | runEditorCommand(i,n,o){const r=n._getViewModel();r&&this.runCoreEditi...
method constructor (line 832) | constructor(i,n,o,r){this.actions=i,this.trigger=n,this.editorPosition...
method constructor (line 832) | constructor(i,n,o){this.trigger=i,this.position=n,this._cancellablePro...
method cancel (line 832) | cancel(){this._cancellablePromise.cancel()}
method constructor (line 879) | constructor(n,o){this.request=n,this.previouslyActiveHints=o,this.type=2}
function t (line 187) | function t(h){const g=e.exec(h.id);if(!g)return t(oe.error);const[,f,m]=...
method runCoreEditorCommand (line 239) | runCoreEditorCommand(b,C){b.model.pushStackElement();const w=this._get...
method constructor (line 879) | constructor(n){this.hints=n,this.type=1}
function i (line 187) | function i(h){return t(h).join(" ")}
method constructor (line 239) | constructor(b){super(b),this._isPaged=b.isPaged}
method _getColumnSelectResult (line 239) | _getColumnSelectResult(b,C,w,y){return Hg.columnSelectUp(b.cursorConfi...
function n (line 187) | function n(h){return"."+t(h).join(".")}
method constructor (line 239) | constructor(b){super(b),this._isPaged=b.isPaged}
method _getColumnSelectResult (line 239) | _getColumnSelectResult(b,C,w,y){return Hg.columnSelectDown(b.cursorCon...
function o (line 187) | function o(h){return h&&typeof h=="object"&&typeof h.id=="string"&&(type...
method constructor (line 239) | constructor(){super({id:"cursorMove",precondition:void 0,metadata:rD.m...
method runCoreEditorCommand (line 239) | runCoreEditorCommand(b,C){const w=rD.parse(C);w&&this._runCursorMove(b...
method _runCursorMove (line 239) | _runCursorMove(b,C,w){b.model.pushStackElement(),b.setCursorStates(C,3...
method _move (line 239) | static _move(b,C,w){const y=w.select,D=w.value;switch(w.direction){cas...
function a (line 187) | function a(h){const g=r.exec(h);if(!g)return;const[,f]=g;return{id:f}}
method constructor (line 239) | constructor(b){super(b),this._inSelectionMode=b.inSelectionMode}
method runCoreEditorCommand (line 239) | runCoreEditorCommand(b,C){b.model.pushStackElement(),b.setCursorStates...
function l (line 187) | function l(h){return{id:h}}
method constructor (line 239) | constructor(b){super(b),this._inSelectionMode=b.inSelectionMode}
method runCoreEditorCommand (line 239) | runCoreEditorCommand(b,C){b.model.pushStackElement(),b.setCursorStates...
method _exec (line 239) | _exec(b){const C=[];for(let w=0,y=b.length;w<y;w++){const D=b[w],L=D.m...
function d (line 187) | function d(h,g){let f=h.id;const m=f.lastIndexOf("~");return m!==-1&&(f=...
method constructor (line 239) | constructor(b){super(b),this._inSelectionMode=b.inSelectionMode}
method runCoreEditorCommand (line 239) | runCoreEditorCommand(b,C){b.model.pushStackElement(),b.setCursorStates...
function c (line 187) | function c(h){const g=h.id.lastIndexOf("~");if(g!==-1)return h.id.substr...
method constructor (line 239) | constructor(b){super(b),this._inSelectionMode=b.inSelectionMode}
method runCoreEditorCommand (line 239) | runCoreEditorCommand(b,C){b.model.pushStackElement(),b.setCursorStates...
method _exec (line 239) | _exec(b,C){const w=[];for(let y=0,D=C.length;y<D;y++){const L=C[y],k=L...
function u (line 187) | function u(h,g){var f,m;return h.id===g.id&&((f=h.color)===null||f===voi...
method constructor (line 239) | constructor(b){super(b),this._inSelectionMode=b.inSelectionMode}
method runCoreEditorCommand (line 239) | runCoreEditorCommand(b,C){b.model.pushStackElement(),b.setCursorStates...
method constructor (line 187) | constructor(){this._commands=new Map,this._onDidRegisterCommand=new B,th...
method registerCommand (line 187) | registerCommand(s,e){if(!s)throw new Error("invalid command");if(typeof ...
method registerCommandAlias (line 187) | registerCommandAlias(s,e){return pt.registerCommand(s,(t,...i)=>t.get(gi...
method getCommand (line 187) | getCommand(s){const e=this._commands.get(s);if(!(!e||e.isEmpty()))return...
method getCommands (line 187) | getCommands(){const s=new Map;for(const e of this._commands.keys()){cons...
function ZE (line 187) | function ZE(...s){switch(s.length){case 1:return p("contextkey.scanner.h...
method constructor (line 187) | constructor(){this._input="",this._start=0,this._current=0,this._tokens=...
method getLexeme (line 187) | static getLexeme(e){switch(e.type){case 0:return"(";case 1:return")";cas...
method reset (line 187) | reset(e){return this._input=e,this._start=0,this._current=0,this._tokens...
method scan (line 187) | scan(){for(;!this._isAtEnd();)switch(this._start=this._current,this._adv...
method _match (line 187) | _match(e){return this._isAtEnd()||this._input.charCodeAt(this._current)!...
method _advance (line 187) | _advance(){return this._input.charCodeAt(this._current++)}
method _peek (line 187) | _peek(){return this._isAtEnd()?0:this._input.charCodeAt(this._current)}
method _addToken (line 187) | _addToken(e){this._tokens.push({type:e,offset:this._start})}
method _error (line 187) | _error(e){const t=this._start,i=this._input.substring(this._start,this._...
method _string (line 187) | _string(){this.stringRe.lastIndex=this._start;const e=this.stringRe.exec...
method _quotedString (line 187) | _quotedString(){for(;this._peek()!==39&&!this._isAtEnd();)this._advance(...
method _regex (line 187) | _regex(){let e=this._current,t=!1,i=!1;for(;;){if(e>=this._input.length)...
method _isAtEnd (line 187) | _isAtEnd(){return this._current>=this._input.length}
method constructor (line 187) | constructor(e=ple){this._config=e,this._scanner=new Rg,this._tokens=[],t...
method parse (line 187) | parse(e){if(e===""){this._parsingErrors.push({message:mle,offset:0,lexem...
method _expr (line 187) | _expr(){return this._or()}
method _or (line 187) | _or(){const e=[this._and()];for(;this._matchOne(16);){const t=this._and(...
method _and (line 187) | _and(){const e=[this._term()];for(;this._matchOne(15);){const t=this._te...
method _term (line 187) | _term(){if(this._matchOne(2)){const e=this._peek();switch(e.type){case 1...
method _primary (line 187) | _primary(){const e=this._peek();switch(e.type){case 11:return this._adva...
method _value (line 189) | _value(){const e=this._peek();switch(e.type){case 17:case 18:return this...
method _removeFlagsGY (line 189) | _removeFlagsGY(e){return e.replaceAll(this._flagsGYRe,"")}
method _previous (line 189) | _previous(){return this._tokens[this._current-1]}
method _matchOne (line 189) | _matchOne(e){return this._check(e)?(this._advance(),!0):!1}
method _advance (line 189) | _advance(){return this._isAtEnd()||this._current++,this._previous()}
method _consume (line 189) | _consume(e,t){if(this._check(e))return this._advance();throw this._errEx...
method _errExpectedButGot (line 189) | _errExpectedButGot(e,t,i){const n=p("contextkey.parser.error.expectedBut...
method _check (line 190) | _check(e){return this._peek().type===e}
method _peek (line 190) | _peek(){return this._tokens[this._current]}
method _isAtEnd (line 190) | _isAtEnd(){return this._peek().type===20}
class G (line 190) | class G{static false(){return js.INSTANCE}static true(){return ho.INSTAN...
method false (line 190) | static false(){return js.INSTANCE}
method true (line 190) | static true(){return ho.INSTANCE}
method has (line 190) | static has(e){return sp.create(e)}
method equals (line 190) | static equals(e,t){return r0.create(e,t)}
method notEquals (line 190) | static notEquals(e,t){return ox.create(e,t)}
method regex (line 190) | static regex(e,t){return Bb.create(e,t)}
method in (line 190) | static in(e,t){return nx.create(e,t)}
method notIn (line 190) | static notIn(e,t){return sx.create(e,t)}
method not (line 190) | static not(e){return op.create(e)}
method and (line 190) | static and(...e){return Gg.create(e,null,!0)}
method or (line 190) | static or(...e){return oc.create(e,null,!0)}
method deserialize (line 190) | static deserialize(e){return e==null?void 0:this._parser.parse(e)}
function Sle (line 190) | function Sle(s,e){const t=s?s.substituteConstants():void 0,i=e?e.substit...
function zv (line 190) | function zv(s,e){return s.cmp(e)}
class js (line 190) | class js{constructor(){this.type=0}cmp(e){return this.type-e.type}equals...
method constructor (line 190) | constructor(){this.type=0}
method cmp (line 190) | cmp(e){return this.type-e.type}
method equals (line 190) | equals(e){return e.type===this.type}
method substituteConstants (line 190) | substituteConstants(){return this}
method evaluate (line 190) | evaluate(e){return!1}
method serialize (line 190) | serialize(){return"false"}
method keys (line 190) | keys(){return[]}
method negate (line 190) | negate(){return ho.INSTANCE}
class ho (line 190) | class ho{constructor(){this.type=1}cmp(e){return this.type-e.type}equals...
method constructor (line 190) | constructor(){this.type=1}
method cmp (line 190) | cmp(e){return this.type-e.type}
method equals (line 190) | equals(e){return e.type===this.type}
method substituteConstants (line 190) | substituteConstants(){return this}
method evaluate (line 190) | evaluate(e){return!0}
method serialize (line 190) | serialize(){return"true"}
method keys (line 190) | keys(){return[]}
method negate (line 190) | negate(){return js.INSTANCE}
class sp (line 190) | class sp{static create(e,t=null){const i=ls.get(e);return typeof i=="boo...
method create (line 190) | static create(e,t=null){const i=ls.get(e);return typeof i=="boolean"?i...
method constructor (line 190) | constructor(e,t){this.key=e,this.negated=t,this.type=2}
method cmp (line 190) | cmp(e){return e.type!==this.type?this.type-e.type:Wz(this.key,e.key)}
method equals (line 190) | equals(e){return e.type===this.type?this.key===e.key:!1}
method substituteConstants (line 190) | substituteConstants(){const e=ls.get(this.key);return typeof e=="boole...
method evaluate (line 190) | evaluate(e){return!!e.getValue(this.key)}
method serialize (line 190) | serialize(){return this.key}
method keys (line 190) | keys(){return[this.key]}
method negate (line 190) | negate(){return this.negated||(this.negated=op.create(this.key,this)),...
class r0 (line 190) | class r0{static create(e,t,i=null){if(typeof t=="boolean")return t?sp.cr...
method create (line 190) | static create(e,t,i=null){if(typeof t=="boolean")return t?sp.create(e,...
method constructor (line 190) | constructor(e,t,i){this.key=e,this.value=t,this.negated=i,this.type=4}
method cmp (line 190) | cmp(e){return e.type!==this.type?this.type-e.type:rp(this.key,this.val...
method equals (line 190) | equals(e){return e.type===this.type?this.key===e.key&&this.value===e.v...
method substituteConstants (line 190) | substituteConstants(){const e=ls.get(this.key);if(typeof e=="boolean")...
method evaluate (line 190) | evaluate(e){return e.getValue(this.key)==this.value}
method serialize (line 190) | serialize(){return`${this.key} == '${this.value}'`}
method keys (line 190) | keys(){return[this.key]}
method negate (line 190) | negate(){return this.negated||(this.negated=ox.create(this.key,this.va...
class nx (line 190) | class nx{static create(e,t){return new nx(e,t)}constructor(e,t){this.key...
method create (line 190) | static create(e,t){return new nx(e,t)}
method constructor (line 190) | constructor(e,t){this.key=e,this.valueKey=t,this.type=10,this.negated=...
method cmp (line 190) | cmp(e){return e.type!==this.type?this.type-e.type:rp(this.key,this.val...
method equals (line 190) | equals(e){return e.type===this.type?this.key===e.key&&this.valueKey===...
method substituteConstants (line 190) | substituteConstants(){return this}
method evaluate (line 190) | evaluate(e){const t=e.getValue(this.valueKey),i=e.getValue(this.key);r...
method serialize (line 190) | serialize(){return`${this.key} in '${this.valueKey}'`}
method keys (line 190) | keys(){return[this.key,this.valueKey]}
method negate (line 190) | negate(){return this.negated||(this.negated=sx.create(this.key,this.va...
class sx (line 190) | class sx{static create(e,t){return new sx(e,t)}constructor(e,t){this.key...
method create (line 190) | static create(e,t){return new sx(e,t)}
method constructor (line 190) | constructor(e,t){this.key=e,this.valueKey=t,this.type=11,this._negated...
Copy disabled (too large)
Download .json
Condensed preview — 192 files, each showing path, character count, and a content snippet. Download the .json file for the full structured content (22,907K chars).
[
{
"path": ".devcontainer/devcontainer.json",
"chars": 1776,
"preview": "{\n \"name\": \"OpenUI Development\",\n \"image\": \"mcr.microsoft.com/devcontainers/python:3.12\",\n\n // More features: https:/"
},
{
"path": ".devcontainer/postCreateCommand.sh",
"chars": 532,
"preview": "#!/bin/bash\n\n# Fix cache perms\nmkdir -p $HOME/.cache\nsudo chown -R $USER $HOME/.cache\n\n# Install node packages\ncd /works"
},
{
"path": ".gitattributes",
"chars": 29,
"preview": "backend/openui/dist/* binary\n"
},
{
"path": ".github/workflows/docker.yml",
"chars": 6445,
"preview": "name: Build, test and release OpenUI\n\non:\n push:\n branches:\n - \"**\"\n workflow_dispatch:\n\nenv:\n REGISTRY: ghcr"
},
{
"path": ".gitignore",
"chars": 33,
"preview": ".DS_Store\nnohup.out\n.cache/\n.env\n"
},
{
"path": ".gitpod.yml",
"chars": 922,
"preview": "# Image of workspace. Learn more: https://www.gitpod.io/docs/configure/workspaces/workspace-image\nimage: gitpod/workspac"
},
{
"path": ".husky/pre-commit",
"chars": 32,
"preview": "cd frontend && pnpm lint-staged\n"
},
{
"path": ".husky/pre-push",
"chars": 30,
"preview": "cd frontend && pnpm test:push\n"
},
{
"path": ".python-version",
"chars": 7,
"preview": "openui\n"
},
{
"path": "LICENSE",
"chars": 11358,
"preview": " Apache License\n Version 2.0, January 2004\n "
},
{
"path": "README.md",
"chars": 7338,
"preview": "# OpenUI\n\n<p align=\"center\">\n <img src=\"./assets/openui.png\" width=\"150\" alt=\"OpenUI\" />\n</p>\n\nBuilding UI components c"
},
{
"path": "backend/.dockerignore",
"chars": 295,
"preview": "# flyctl launch added from .gitignore\n**/.venv\n**/__pycache__\n**/wandb\n**/*.py[cod]\n**/*$py.class\n**/venv\n**/.eggs\n**/.p"
},
{
"path": "backend/.github/workflows/publish.yml",
"chars": 1168,
"preview": "name: Publish Python Package\n\non:\n release:\n types: [created]\n\npermissions:\n contents: read\n\njobs:\n test:\n runs"
},
{
"path": "backend/.github/workflows/test.yml",
"chars": 592,
"preview": "name: Test\n\non: [push, pull_request]\n\npermissions:\n contents: read\n\njobs:\n test:\n runs-on: ubuntu-latest\n strate"
},
{
"path": "backend/.gitignore",
"chars": 153,
"preview": ".venv\n__pycache__/\nwandb/\n*.py[cod]\n*$py.class\nvenv\n.eggs\n.pytest_cache\n*.egg-info\n.DS_Store\nbuild\neval/components\neval/"
},
{
"path": "backend/.python-version",
"chars": 5,
"preview": "3.12\n"
},
{
"path": "backend/.vscode/extensions.json",
"chars": 48,
"preview": "{\n \"recommendations\": [\"charliermarsh.ruff\"]\n}\n"
},
{
"path": "backend/.vscode/settings.json",
"chars": 109,
"preview": "{\n \"[python]\": {\n \"editor.formatOnSave\": true,\n \"editor.defaultFormatter\": \"charliermarsh.ruff\"\n }\n}\n"
},
{
"path": "backend/Dockerfile",
"chars": 808,
"preview": "# Build the virtualenv as a separate step: Only re-execute this step when pyproject.toml changes\nFROM ghcr.io/astral-sh/"
},
{
"path": "backend/LICENSE",
"chars": 11358,
"preview": " Apache License\n Version 2.0, January 2004\n "
},
{
"path": "backend/README.md",
"chars": 1853,
"preview": "# OpenUI\n\n[](https://pypi.org/project/wandb-openui/)\n[![Changelog"
},
{
"path": "backend/fly.toml",
"chars": 668,
"preview": "# fly.toml app configuration file generated for openui on 2024-03-15T15:53:15-07:00\n#\n# See https://fly.io/docs/referenc"
},
{
"path": "backend/openui/__init__.py",
"chars": 0,
"preview": ""
},
{
"path": "backend/openui/__main__.py",
"chars": 3745,
"preview": "from pathlib import Path\nfrom .logs import setup_logger\nfrom . import server\nfrom . import config\nfrom .litellm import g"
},
{
"path": "backend/openui/config.py",
"chars": 2479,
"preview": "import os\nfrom pathlib import Path\nimport secrets\nfrom urllib.parse import urlparse\nfrom enum import Enum\n\n\nclass Env(En"
},
{
"path": "backend/openui/config.yaml",
"chars": 56,
"preview": "litellm_settings:\n# callbacks: callbacks.weave_handler\n"
},
{
"path": "backend/openui/db/models.py",
"chars": 4507,
"preview": "from peewee import (\n Model,\n BinaryUUIDField,\n BooleanField,\n CharField,\n IntegerField,\n DateField,\n "
},
{
"path": "backend/openui/dist/annotator/index.html",
"chars": 18508,
"preview": "<html>\n\t<head>\n\t\t<script src=\"https://cdn.tailwindcss.com?plugins=forms,typography\"></script>\n\t\t<script src=\"https://unp"
},
{
"path": "backend/openui/dist/assets/CodeEditor-B1zwGt1y.css",
"chars": 124684,
"preview": ".monaco-editor{font-family:-apple-system,BlinkMacSystemFont,Segoe WPC,Segoe UI,HelveticaNeue-Light,system-ui,Ubuntu,Droi"
},
{
"path": "backend/openui/dist/assets/CodeEditor-B9qhAAku.js",
"chars": 3499696,
"preview": "const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=[\"assets/html-B4dTfUY8.js\",\"assets/index-B7PjGjI7.js\",\"assets/in"
},
{
"path": "backend/openui/dist/assets/babel-CqqbTYm7.js",
"chars": 310236,
"preview": "var Br=Object.create,Ze=Object.defineProperty,Mr=Object.getOwnPropertyDescriptor,Or=Object.getOwnPropertyNames,Rr=Object"
},
{
"path": "backend/openui/dist/assets/css-D1nB4Vcj.js",
"chars": 4756,
"preview": "/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation."
},
{
"path": "backend/openui/dist/assets/cssMode-CMP9zKWk.js",
"chars": 33649,
"preview": "import{m as Le}from\"./CodeEditor-B9qhAAku.js\";import\"./index-B7PjGjI7.js\";import\"./index-DnTpCebm.js\";/*!---------------"
},
{
"path": "backend/openui/dist/assets/html-B2LDEzWk.js",
"chars": 139202,
"preview": "var on=Object.defineProperty;var ln=(e,t,r)=>t in e?on(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;v"
},
{
"path": "backend/openui/dist/assets/html-B4dTfUY8.js",
"chars": 5333,
"preview": "import{m as s}from\"./CodeEditor-B9qhAAku.js\";import\"./index-B7PjGjI7.js\";import\"./index-DnTpCebm.js\";/*!----------------"
},
{
"path": "backend/openui/dist/assets/htmlMode-BZEeRbEQ.js",
"chars": 34200,
"preview": "import{m as $e}from\"./CodeEditor-B9qhAAku.js\";import\"./index-B7PjGjI7.js\";import\"./index-DnTpCebm.js\";/*!---------------"
},
{
"path": "backend/openui/dist/assets/index-B7PjGjI7.js",
"chars": 584227,
"preview": "var cE=Object.defineProperty;var ug=e=>{throw TypeError(e)};var fE=(e,t,n)=>t in e?cE(e,t,{enumerable:!0,configurable:!0"
},
{
"path": "backend/openui/dist/assets/index-CnQwS-Fb.css",
"chars": 1082271,
"preview": "@import\"https://fonts.googleapis.com/css2?family=Source+Sans+3:ital,wght@0,200..900;1,200..900&display=swap\";.internal-j"
},
{
"path": "backend/openui/dist/assets/index-DnTpCebm.js",
"chars": 218380,
"preview": "const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=[\"assets/CodeEditor-B9qhAAku.js\",\"assets/index-B7PjGjI7.js\",\"ass"
},
{
"path": "backend/openui/dist/assets/javascript-BcV1SRi8.js",
"chars": 1247,
"preview": "import{conf as t,language as e}from\"./typescript-BfKWl9Pr.js\";import\"./CodeEditor-B9qhAAku.js\";import\"./index-B7PjGjI7.j"
},
{
"path": "backend/openui/dist/assets/jsonMode-CWFvP3uU.js",
"chars": 39714,
"preview": "import{m as Ke}from\"./CodeEditor-B9qhAAku.js\";import\"./index-B7PjGjI7.js\";import\"./index-DnTpCebm.js\";/*!---------------"
},
{
"path": "backend/openui/dist/assets/markdown-7fQo6M4U.js",
"chars": 4034,
"preview": "/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation."
},
{
"path": "backend/openui/dist/assets/python-CsxvR8Mf.js",
"chars": 3943,
"preview": "import{m as i}from\"./CodeEditor-B9qhAAku.js\";import\"./index-B7PjGjI7.js\";import\"./index-DnTpCebm.js\";/*!----------------"
},
{
"path": "backend/openui/dist/assets/standalone-BS_cqyLa.js",
"chars": 81665,
"preview": "var Pt=Object.defineProperty;var $t=(e,u,t)=>u in e?Pt(e,u,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[u]=t;v"
},
{
"path": "backend/openui/dist/assets/tsMode-FcR9Jej8.js",
"chars": 22576,
"preview": "import{t as O,m as I}from\"./CodeEditor-B9qhAAku.js\";import\"./index-B7PjGjI7.js\";import\"./index-DnTpCebm.js\";/*!---------"
},
{
"path": "backend/openui/dist/assets/typescript-BfKWl9Pr.js",
"chars": 5726,
"preview": "import{m as s}from\"./CodeEditor-B9qhAAku.js\";import\"./index-B7PjGjI7.js\";import\"./index-DnTpCebm.js\";/*!----------------"
},
{
"path": "backend/openui/dist/assets/yaml-DWuY8lcX.js",
"chars": 4334,
"preview": "import{m as l}from\"./CodeEditor-B9qhAAku.js\";import\"./index-B7PjGjI7.js\";import\"./index-DnTpCebm.js\";/*!----------------"
},
{
"path": "backend/openui/dist/index.html",
"chars": 2917,
"preview": "<!doctype html>\n<html lang=\"en\" class=\"antialiased\">\n\t<head>\n\t\t<script>self[\"MonacoEnvironment\"] = (function (paths) {\n "
},
{
"path": "backend/openui/dist/logo.html",
"chars": 4228,
"preview": "<!doctype html>\n<html lang=\"en\">\n\t<head>\n\t\t<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" />\n\t\t<meta"
},
{
"path": "backend/openui/dist/logo.txt",
"chars": 2029,
"preview": " \n \n "
},
{
"path": "backend/openui/dist/manifest.webmanifest",
"chars": 346,
"preview": "{\"name\":\"OpenUI by Weights & Biases\",\"short_name\":\"OpenUI\",\"start_url\":\"/ai?app=pwa\",\"display\":\"standalone\",\"background_"
},
{
"path": "backend/openui/dist/monacoeditorwork/css.worker.bundle.js",
"chars": 1861447,
"preview": "(() => {\n // node_modules/.pnpm/monaco-editor@0.49.0/node_modules/monaco-editor/esm/vs/base/common/errors.js\n var Erro"
},
{
"path": "backend/openui/dist/monacoeditorwork/html.worker.bundle.js",
"chars": 1243804,
"preview": "(() => {\n // node_modules/.pnpm/monaco-editor@0.49.0/node_modules/monaco-editor/esm/vs/base/common/errors.js\n var Erro"
},
{
"path": "backend/openui/dist/monacoeditorwork/json.worker.bundle.js",
"chars": 824454,
"preview": "(() => {\n // node_modules/.pnpm/monaco-editor@0.49.0/node_modules/monaco-editor/esm/vs/base/common/errors.js\n var Erro"
},
{
"path": "backend/openui/dist/monacoeditorwork/tailwindcss.worker.bundle.js",
"chars": 1648731,
"preview": "(() => {\n var __create = Object.create;\n var __defProp = Object.defineProperty;\n var __getOwnPropDesc = Object.getOwn"
},
{
"path": "backend/openui/dist/monacoeditorwork/ts.worker.bundle.js",
"chars": 10351911,
"preview": "(() => {\n // node_modules/.pnpm/monaco-editor@0.49.0/node_modules/monaco-editor/esm/vs/base/common/errors.js\n var Erro"
},
{
"path": "backend/openui/dist/sw.js",
"chars": 2657,
"preview": "if(!self.define){let e,s={};const r=(r,i)=>(r=new URL(r+\".js\",i).href,s[r]||new Promise((s=>{if(\"document\"in self){const"
},
{
"path": "backend/openui/dist/workbox-3e8df8c8.js",
"chars": 15074,
"preview": "define([\"exports\"],(function(t){\"use strict\";try{self[\"workbox:core:7.2.0\"]&&_()}catch(t){}const e=(t,...e)=>{let s=t;re"
},
{
"path": "backend/openui/eval/.gitignore",
"chars": 28,
"preview": "wandb/\ndatasets/\ncomponents/"
},
{
"path": "backend/openui/eval/__init__.py",
"chars": 0,
"preview": ""
},
{
"path": "backend/openui/eval/dataset.py",
"chars": 2254,
"preview": "import asyncio\nimport csv\nimport weave\nfrom weave import Dataset\nfrom pathlib import Path\nimport json\nimport sys\n\n\n# TOD"
},
{
"path": "backend/openui/eval/evaluate.py",
"chars": 5771,
"preview": "import asyncio\nimport sys\nimport textwrap\nfrom weave import Evaluation, Model\n\n# from .model import EvaluateQualityModel"
},
{
"path": "backend/openui/eval/evaluate_weave.py",
"chars": 14292,
"preview": "import asyncio\nimport sys\nimport os\nimport random\nimport textwrap\nimport yaml\nimport mistletoe\nfrom typing import Option"
},
{
"path": "backend/openui/eval/prompt_to_img.py",
"chars": 4346,
"preview": "from pathlib import Path\nimport csv\nimport json\nimport mistletoe\nimport yaml\nimport asyncio\nimport sys\nfrom openui.util "
},
{
"path": "backend/openui/litellm.py",
"chars": 4027,
"preview": "import yaml\nimport os\nimport tempfile\nimport openai\nfrom .logs import logger\n\n\ndef generate_config():\n models = []\n "
}
]
// ... and 127 more files (download for full content)
About this extraction
This page contains the full source code of the wandb/openui GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 192 files (22.3 MB), approximately 5.6M tokens, and a symbol index with 28046 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.
Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.